当我通过JMSQ获取内容时,我收到了这个字符串。打印时我看到以下行。我看到这些是XML中的垂直制表符。但是我该如何摆脱它们呢。
#011#011#011<xeh:eid>dljfl</xeh:eid>
我试过了
replaceAll("[\\x0B]", "");
但它不起作用。
答案 0 :(得分:2)
"#011#011#011<xeh:eid>dljfl</xeh:eid>".replaceAll("#011", "")
工作正常,结果为<xeh:eid>dljfl</xeh:eid>
根据Pattern javadoc,\xhh
代表“十六进制值为0xhh的字符”。但我想在你的字符串文字中,#011
只是字面字符。
如果我尝试复制字符串文字中的垂直标签,则可以使用\\x0B
:
"\u000b\u000b\u000b<xeh:eid>dljfl</xeh:eid>".replaceAll("\\x0B", "")
但也许我们读错了。虽然#0B是11,但#11可能是17 ......
答案 1 :(得分:2)
这样做:
String a = "#011#011#011<xeh:eid>dljfl</xeh:eid>";
String a_wo_vt_chars = a.replaceAll("#011", "");
答案 2 :(得分:1)
当#011表示char的十六进制值时,您可以使用
a.replaceAll("\\u0011", "");
// or
a.replaceAll("\\x11", "");
但如果#011代表八进制值,则使用
a.replaceAll("\\011", "")