我在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的结尾发现。但这两个正则表达式如何一起使用。
答案 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);