Class CharRangeReplacer
java.lang.Object
org.miaixz.bus.core.text.replacer.StringReplacer
org.miaixz.bus.core.text.replacer.CharRangeReplacer
- All Implemented Interfaces:
Serializable,Function<CharSequence,,CharSequence> UnaryOperator<CharSequence>
区间字符串替换,指定区间,将区间中的所有字符去除,替换为指定的字符,字符重复次数为区间长度,即替换后字符串长度不变
此方法使用
String.codePoints()完成拆分替换- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCharRangeReplacer(int beginInclude, int endExclude, char replacedChar, boolean isCodePoint) 构造 -
Method Summary
Modifier and TypeMethodDescriptionapply(CharSequence text) 执行替换,按照StringReplacer.replace(CharSequence, int, StringBuilder)逻辑替换对应部分,其它部分保持原样protected intreplace(CharSequence text, int pos, StringBuilder out) 抽象的字符串替换方法,通过传入原字符串和当前位置,执行替换逻辑,返回处理或替换的字符串长度部分。
-
Constructor Details
-
CharRangeReplacer
public CharRangeReplacer(int beginInclude, int endExclude, char replacedChar, boolean isCodePoint) 构造- Parameters:
beginInclude- 开始位置(包含)endExclude- 结束位置(不包含)replacedChar- 被替换的字符串isCodePoint- 是否code point模式,此模式下emoji等会被作为单独的字符
-
-
Method Details
-
apply
Description copied from class:StringReplacer执行替换,按照StringReplacer.replace(CharSequence, int, StringBuilder)逻辑替换对应部分,其它部分保持原样- Specified by:
applyin interfaceFunction<CharSequence,CharSequence> - Overrides:
applyin classStringReplacer- Parameters:
text- 被处理的字符串- Returns:
- 替换后的字符串
-
replace
Description copied from class:StringReplacer抽象的字符串替换方法,通过传入原字符串和当前位置,执行替换逻辑,返回处理或替换的字符串长度部分。- Specified by:
replacein classStringReplacer- Parameters:
text- 被处理的字符串pos- 当前位置out- 输出- Returns:
- 处理的原字符串长度,0表示跳过此字符
-