我不喜欢使用Java工作的Regex示例来删除所有重复的字符.
此代码不能正常工作:删除'g'和'<',两个以上的字符没有明显减少为1,'454'减少为'5'.
s = "aa hgjii2222 22 FFonn;;;,,1111111111 22< 454";
p = Pattern.compile("(.)(.)");
m = p.matcher(s);
System.out.println(m.replaceAll("$1") );
Run Code Online (Sandbox Code Playgroud)
输出:
a hji222 Fon;,11111 2 5
我尝试过其他解决方案,但收效甚微.
我看到了一个很好的样本,但我不能适应我的问题.
我想从CSV行中仅 删除封闭字段",如:
" kkl ";"aa bb D";;12 "AA";;"SSS"-;" gg 12";" vv";"sdqs ";
Run Code Online (Sandbox Code Playgroud)
预期结果 :
kkl ;aa bb D;;12 "AA";;"SSS"-; gg 12; vv;sdqs ;
Run Code Online (Sandbox Code Playgroud)
我使用Pattern和Matcher工具
我有这样的字符串
final String text ="Some Text #AAAA some other text .."(#with 4个大写字母)
Pattern patt = Patter.compile("(.*?)(#)([A-Z]{4})(.*?)");
patt.matcher(text ).replaceAll("$1$3$4")
Run Code Online (Sandbox Code Playgroud)
只删除#in 文本
我会得到小写的AAAA,结果是预期的:
一些文字aaaa一些其他文字..
如果这个结果是小写的,只有四个AAAA?