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

用引号替换字符串的正则表达式

谢骏奇
2023-03-14

我需要替换以下字符串中的引号。

String str = "This is 'test()ing' and test()ing'";

最终输出应该是“这是test()ing和test()ing”;

i、 e仅当它以“test()开头,以”结尾时才替换。中间的文本保持不变。

这个坏了。

str = str.replaceAll("^('test())(.*)(')$", "test()$2");

请为同样的问题推荐合适的正则表达式。

共有3个答案

鲜于俊侠
2023-03-14

看起来您实际上并不希望在正则表达式中包含^$锚定(行的开始/结束)。

除此之外,它将消耗超过你想要的。如果您想要*若要在它可以继续的最早点停止,您应该让它不情愿地匹配,比如*

所以你的正则表达式应该是:

('test\(\))(.*?)(')

卜泓
2023-03-14

您可以使用:

str = str.replaceAll("'(test\\(\\)[^']*)'", "$1");

正则表达式演示

孙永嘉
2023-03-14

此正则表达式将具有所需的结果:

    str = str.replaceAll("'test\\(\\)(.*?)'", "test()$1");

与<代码>。*?字符串被懒惰地匹配,并且不匹配到整个字符串的末尾。

 类似资料:
  • 问题内容: 我有一个输入字符串 这个或“那个或”或“这个或那个” 应该翻译成 这个|| “那个或” || “这个或那个” 因此,尝试是在一个字符串中查找一个字符串(或)的出现并将其替换为另一个字符串(||)。我尝试了以下代码 输出是 这个|| “那个或” || ‘这个|| 那’ 问题是单引号内的字符串也被替换了。至于代码,样式仅是示例。当我开始工作时,我将编译模式并重用它。 问题答案: 试试这个正

  • 我想使用Gson将字符串转换为Foo对象: 下面是我的正则表达式: 如何使用此正则表达式将所有,.和替换为,,而不更改JSON中的键和值?

  • 问题内容: 我正在尝试使用正则表达式替换字符串中所有出现的英国汽车登记信息。 当字符串与以下正则表达式完全匹配时,以下swift代码可完美地用于a。 结果是 但是,以下操作无效,并且字符串未修改 结果是 谁能给我任何指示? 问题答案: 您需要删除和锚点。 该装置 开始字符串 和手段 结束字符串 (或行,这取决于选项)。这就是第一个示例起作用的原因:在第一个测试字符串中,字符串的开头实际上是您的模式

  • 本文向大家介绍正则表达式的字符串替换方法,包括了正则表达式的字符串替换方法的使用技巧和注意事项,需要的朋友参考一下 我有以下几行: d:\Projects\qqq\Development\qqq.MySol1.sln d:\Projects\qqq\qqqDevelopment\qqqMySol2.sln d:\Projects\qqq\Development\MyInstaller.sln d:

  • 这是我之前问题的后续。我意识到我需要更具体地说明我的regex案例,以获得适用于我的案例的答案。 我已经与这个正则表达式斗争了很长一段时间(也使用我上一个问题的答案),我似乎无法构建我需要的东西。 我需要将所有字符串中出现的两个重复出现的单引号替换为(因此字符串内部意味着单引号)。这是因为在一种语言(语法)中,字符串中的引号使用<code>‘转义。 这里有一个例子(实际的例子可以包含用< code

  • 问题内容: 我有一个字符串: 我要删除paren内部和paren本身中的所有内容,仅保留: 我试图用正则表达式来做到这一点,但是我的困难在于这种模式: 当我使用它时,它总是给我一个。如何修复我的正则表达式? 问题答案: 由于括号是正则表达式中的特殊字符,因此您需要对其进行转义以明确匹配它们。 例如: