我有以下字符串
"{TEXT=9201i3:9830i22:90400i11:92710i7:94500|HELLO_UK}"
我需要做以下事情:
i
和:
之间的所有内容,并将其替换为,
{TEXT=
|HELLO_UK}
我想以"9201,9830,90400,92710,94500"
我已尝试过它,但它并没有完全符合我的要求。以下是我写的:
numbers = numbers.replaceAll("\\D.*?:", ",");
我得到以下结果:",9830,90400,92710,94500|HELLO_UK}"
注意它是如何删除第一组数字的(9201)。
有人可以建议我应该使用的正则表达式吗?
答案 0 :(得分:2)
你走了:
String str = "{TEXT=9201i3:9830i22:90400i11:92710i7:94500|HELLO_UK}"
.replaceAll("(\\{TEXT=|\\|HELLO_UK\\})", "")
.replaceAll("i(.*?):", ",");
System.out.println(str);
答案 1 :(得分:0)
您还可以尝试以下操作:
String str = "{TEXT=9201i3:9830i22:90400i11:92710i7:94500|HELLO_UK}";
str.replaceAll("[(A-Z)*{|}_=]", "")
.replaceAll("[i:]", ",");
System.out.println(str);
输出
9201,3,9830,22,90400,11,92710,7,94500