Mic*_*ael 2 java regex string pattern-matching replaceall
我需要用每个基本构造单元替换单词中的重复模式.例如,我有字符串"TATATATA",我想用"TA"替换它.此外,我可能会更换超过2次重复,以避免替换正常的单词.
我试图用Java替换所有方法.
我想你想要这个(适用于任何长度的重复字符串):
String result = source.replaceAll("(.+)\\1+", "$1")
Run Code Online (Sandbox Code Playgroud)
或者,优先考虑较短的匹配:
String result = source.replaceAll("(.+?)\\1+", "$1")
Run Code Online (Sandbox Code Playgroud)
它首先匹配一组字母,然后再次匹配(在匹配模式本身中使用反向引用).我尝试了它,它似乎做了伎俩.
例
String source = "HEY HEY duuuuuuude what'''s up? Trololololo yeye .0.0.0";
System.out.println(source.replaceAll("(.+?)\\1+", "$1"));
// HEY dude what's up? Trolo ye .0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4495 次 |
| 最近记录: |