replaceSpan

fun CharSequence.replaceSpan(oldValue: String, ignoreCase: Boolean = false, replacement: (MatchResult) -> Any?): CharSequence

替换匹配的字符串

Return

如果没有匹配任何项会返回原来的CharSequence

Parameters

oldValue

被替换的字符串

ignoreCase

忽略大小写

replacement

每次匹配到字符串都会调用此函数

  1. 如果返回null则表示不执行任何操作

  2. 返回单个Span则应用效果, 当然返回Span集合或数组就会应用多个效果,

  3. 返回android.text.Spanned可以替换字符串同时添加Span效果.

  4. 返回kotlin.CharSequence则仅仅是替换字符串.

  5. 并且本函数支持反向引用捕获组, 使用方法等同于RegEx: $捕获组索引

  6. replace函数不同的时本函数会保留原有android.text.Spanned的效果

fun CharSequence.replaceSpan(regex: Regex, quoteGroup: Boolean = false, replacement: (MatchResult) -> Any?): CharSequence

使用正则替换匹配字符串

Return

如果没有匹配任何项会返回原来的CharSequence

Parameters

regex

正则

quoteGroup

是否允许反向引用捕获组

replacement

每次匹配到字符串都会调用此函数

  1. 如果返回null则表示不执行任何操作

  2. 返回单个Span则应用效果, 当然返回Span集合或数组就会应用多个效果,

  3. 返回android.text.Spanned可以替换字符串同时添加Span效果.

  4. 返回kotlin.CharSequence则仅仅是替换字符串.

  5. 并且本函数支持反向引用捕获组, 使用方法等同于RegEx: $捕获组索引

  6. replace函数不同的时本函数会保留原有android.text.Spanned的效果