正则表达式根据特殊字符用新行替换字符串

时间:2017-02-13 06:46:28

标签: java regex-lookarounds

我试图用新行替换所有出现的特殊字符,除非有一个?字符前面的字符。输入字符串是 赫尔辛基' ABCP' QR2' SER'并希望输出为

P(x <= k) = I(1 - p, n - r, r+1)
p = 1/2 in your case

代码:

HJK'
ABCP?'QR2'
SER'

我按预期得到了o / p: -

        String character="'";
        String str="HJK'ABCP?'QR2'SER'";
        str=str.replaceAll("(?<!\\?)"+character, character+"\r\n");
        System.out.println(str);

问题是特殊字符可能有所不同,必须用新行代替(以前用?表示?)

str.replaceAll(&#34;(?

并不适用于所有情况。如果字符为*或[

,则不会按预期工作

任何人都能说出错误吗?

0 个答案:

没有答案