From eee23bdd1e4e4280c942ea3599e697028e77a06e Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Sat, 12 Feb 2022 16:53:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E5=80=92=E5=BA=8F=E9=87=8D=E5=A4=8D=E5=AD=97=E7=AC=A6=E7=BA=A6?= =?UTF-8?q?=E6=9D=9F=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ink/wgink/util/string/WStringUtil.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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); + } + }