java - 如何在字符串中插入特殊字符?

标签 java regex string

我有一个名为“string1”的字符串,

string1 = "Mr. Jorge Alexa Narvaez is a former Canadian cricketer and a politician.";

我还有另一个名为“string2”的字符串,它只有被“<NOUN> and </NOUN>”包围的字符串。 ' 标签之间用空格分隔。

string2 = "<NOUN>Jorge Alexa Narvaez</NOUN> <NOUN>Canadian</NOUN>";

请注意,第二个字符串可以有任意数量的名词标记单词(基于“string1”,例如:如果 string1 有 3 个名词,则 string2 将具有由名词标记包围的相同 3 个名词)
我想向“string1”添加标签并使 string1 如下所示,

string1 = "Mr. <NOUN>Jorge Alexa Narvaez</NOUN> is a former <NOUN>Canadian</NOUN> cricketer and a politician.";

我只想将“Jorge Alexa Narvaez”和“加拿大人”替换为 <NOUN>Jorge Alexa Narvaez</NOUN> and <NOUN>Canadian</NOUN>

谁能告诉我该怎么做?

最佳答案

可以按如下方式完成,

 Pattern p = Pattern.compile("<NOUN>(.*?)</NOUN>");
    Matcher m = p.matcher(string2);
    while(m.find()) {
        string1= string1.replaceAll(m.group(1),m.group(0));
    }

关于java - 如何在字符串中插入特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12015818/

相关文章:

javascript - JavaScript 中的后向查找。词后空格

C# 字符串 ASCII 表示

python - 在将 paramiko 输出存储到数组之前修改它

c# - 用空格分割文本

java - 如何在 AS 级别为 EJB stub 创建我自己的代理

java - 为什么 netty 日志不显示正确的类和包信息

.net - 在正则表达式匹配中替换

java - 为什么 AWTRobot getPixelColor() 给出不同的结果?

java - 推土机 : String-To-Date Field Level Mapping for a List

.net - 在 .NET 中将复杂的 boolean 条件从字符串转换为 boolean 值