diff --git a/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java b/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java index 35bb6c42..81deb816 100644 --- a/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java +++ b/basic-util/src/main/java/ink/wgink/util/string/WStringUtil.java @@ -398,4 +398,26 @@ public class WStringUtil { return str.substring(0, unRepeatCharIndex + 1); } + /** + * 倒叙截取重复字段 + * + * @param str + * @param repeatChar + * @param minRepeatCount + * @return + */ + public static String cutContinuityRepeatCharDesc(String str, char repeatChar, int minRepeatCount) { + int repeatCount = 0; + for (int i = str.length() - 1; i >= 0; i--) { + if (str.charAt(i) != repeatChar) { + break; + } + repeatCount++; + } + if (repeatCount < minRepeatCount) { + return str; + } + return cutContinuityRepeatCharDesc(str, repeatChar); + } + }