Android Regex方法 如何同时匹配多个符号后,分别替换

需求:在代码中碰到一个问题,需要将字符串中的\n 和 \r 替换成 <br/>, 英文的引号替换成中文的。

实现:

val inputStr=""

val mRegex = Regex("[\\r\\n\"\']")

val outputStr = mRegex.replace(inputStr) {
            when (it.value) {
                "\n" -> "<br/>"
                "\r" -> "<br/>"
                "\"" -> "“"
                "\'" -> "’"
                else -> {it.value}
            }
        }

思路:通过正则表达式匹配所有字符(这个比较简单),然后通过replace方法的lambda表达式获取MatchResult 对象,再通过it.value属性获取当前匹配的字符,最后通过when方法分类替换。

猜你喜欢

转载自blog.csdn.net/oxygen112/article/details/129367884