替换字符串中特定的标签(包含标签中的文本内容)

遇到问题:项目需要将以下字符串中特定的xxxxx标签,替换为标签。

String text = "

2019年1. 月20日- 2." +" 拖拽题ceshi 拖拽题" +" 拖拽题 

";

 需要注意的是,当前字符串中出现多个标签,替换时需要逐个替换,避免将字符串错误识别为第一个开头和最后一个的闭合,导致中间的多个被忽略。

这里要引入正则表达式:       ([\\s\\S]*?)      该表达式可以匹配所有字符。

以下是项目中的用法:

int i = 0;
while (text.contains("")) {
    i++;
    String aString = "([\\s\\S]*?)";
    String bString = "";
    text = text.replaceFirst(aString, bString);
    System.out.println(text);
}
System.out.println("最终结果:"+text);

代码执行结果为:

2019年 月04日- 2. 拖拽题ceshi 拖拽题 拖拽题 

2019年 月04日-  拖拽题ceshi 拖拽题 拖拽题 

2019年 月04日-  拖拽题 拖拽题 拖拽题 

2019年 月04日-  拖拽题 拖拽题 拖拽题 

2019年 月04日-  拖拽题 拖拽题 拖拽题 

最终结果:

2019年 月04日-  拖拽题 拖拽题 拖拽题 

注意:正则表达式中的“?”号,表示匹配当前离最近的,而不是字符串末尾的。

你可能感兴趣的:(html标签,正则)