当前位置: 首页 > 知识库问答 >
问题:

如何替换多个匹配的Regex

梁韬
2023-03-14
    null
String s="hello     .how are you?";
s=s.replaceAll("\\s{2,}"," ");
s=s.replaceAll("\\.([a-zA-Z])",". $1");
....

但问题是我的regex不是简单字符串

共有1个答案

仲孙疏珂
2023-03-14

您有以下2个replaceAll调用:

s = s.replaceAll("\\s{2,}"," ");
s = s.replaceAll("\\.([a-zA-Z])",". $1");

您可以将它们组合成一个replaceAll,如下所示:

s = s.replaceAll("\\s{2,}|(\\.)(?=[a-zA-Z])", "$1 ");

RegEx演示

 类似资料:
  • 我正在写一个求解方程求解方法。方法将是递归的;搜索所有外括号,当找到时,重新求解括号内的值,当没有找到括号时返回值。 Regex.Replace(...)替换指定模式的所有匹配项。我希望能够匹配到多个场景,并用不同的输出替换每个场景

  • 我只想替换字符串中的单词,如果单词字符或单词前后没有连字符。 文本: 替换后的预期结果: 正则表达式: < li >正则表达式当前仅匹配第一个匹配项(< code>#后的按钮)。我需要做什么来匹配所有事件? < li >如何在Java中将< code>button替换为< code>text或任何其他单词? 我读过主题我能在Java regex中替换组吗?,但是我真的不明白如何为我的特殊情况使用示

  • 匹配器中的函数忽略了带有双反斜杠的转义字符。我想把两行替换成一行\n按原样分开。这是我的代码: 输出: Lorem ipsum dolor sit amet,\nConsectetur adipiscing elit sed do eusmod tempor incidunt ut\nlabore et dolore magna aliqua Lorem ipsum dolor sit amet,

  • 问题内容: 我需要通过一个reg表达式匹配两种情况并进行替换 ‘long.file.name.jpg’->’long.file.name_ suff .jpg’ ‘long.file.name_ a .jpg’->’long.file.name_ suff .jpg’ 我正在尝试执行以下操作 但这被削减了扩展名“ .jpg”,我得到了 long.file.name_suff。而不是long.fil

  • 问题内容: 如何将值更改为和将值更改为? 当我使用和所有值都更改为最后一个数组值。例: 结果: 问题答案: 这应该为您工作: 输出: 检出此DEMO:http : //codepad.org/b0dB95X5

  • 问题内容: 我有一个字符串,其结构类似于:。每次来自外部源的字符串都可能有所不同。 我只想替换第一次出现的而不是其他的。可能吗? 问题答案: preg_replace的可选第四个参数是: