我有这个要求 - 对于输入字符串,如下所示
8This8 is &reallly& a #test# of %repl%acing% %mul%tiple 9matched9 9pairs
Run Code Online (Sandbox Code Playgroud)
我想剥离匹配的单词边界(匹配对为8或&或%等),并将导致以下结果
This is really a test of repl%acing %mul%tiple matched 9pairs
Run Code Online (Sandbox Code Playgroud)
用于这些对的字符列表可以变化,例如8,9,%,#etc,并且只有与每种类型匹配开头和结尾的单词将被剥离这些字符,并且在单词中保留相同的字符它是.
使用Java我可以做一个模式\\b8([^\\s]*)8\\b和替换为$ 1,以捕获和替换所有出现的8 ... 8,但是我如何对所有类型的对进行此操作?
我可以提供一个类似\\b8([^\\s]*)8\\b|\\b9([^\\s]*)9\\b..等等的模式来匹配所有类型的匹配对*8,9,..),但是如何指定'变量'替换组 -
例如,如果比赛是9 ... 9,则替换应为2美元.
我当然可以通过其中的多个来运行它,每个都替换一个特定类型的对,但我想知道是否有更优雅的方式.
还是有一种完全不同的方法来解决这个问题?
谢谢.