用html div替换某些模式

时间:2013-05-07 05:24:23

标签: java regex

我在regex中非常弱,我认为我分配的任务需要regex。 假设我有以下字符串#B#Objectives:#B#We aimed to review how personality characteristics contribute to the onset, maintenance or modulation of.#B#Method:#B#The databases Medline and PsychINFO were examined from 1967 to 2012 to

现在我的要求是将#B#anystring#B#替换为<div class="format">anystring</div>

我认为regex是必需的,但我不知道正则表达式是什么。

请提出任何建议。

更新

String regex="#B#";
String textFormated = text.replaceAll(regex,"<div class='formated'>");
System.out.println(textFormated);

这是我到目前为止所尝试的。它只是用#B#替换<div class='formated'>但是添加div的结尾有一点点复杂。如果:#B#是{{1}},则应添加div的结尾发现。但这两个正则表达式如何一起使用。

2 个答案:

答案 0 :(得分:2)

使用此:

str = str.replaceAll("#B#(.*?)#B#", "<div class=\"format\">$1</div>");

.*?是不情愿的限定符。这意味着它匹配尽可能少的字符(可能为零)直到下一个#B#

答案 1 :(得分:1)

试试这段代码,这会对你有所帮助

String givenData ="asdfasdfa#B#anystring#B#asdfasdfasdfas";
String pattern = "(#B#)(.+?)(#B#)";
String result = givenData.replaceAll(pattern, "<div class='format'>$2</div>");
System.out.println(result);