[英]How can I remove the last character in a String that has another regex computation in Java?
我想从字符串中删除以下字符:<,>,t,d,/ 并在第一次删除后删除最后一个字符。 我想在一个声明中做到这一点。
用于删除 <,>,t,d,/ 的正则表达式:
String codCIM = element.toString().replaceAll("[<>,t,d,//]", ""); -WORKS FINE
用于删除 <,>,t,d,/ 和最后一个字符的正则表达式:
String codCIM = element.toString().replaceAll("[<>,t,d,//].$", ""); -DONT WORK
例如: "dtt>W43451005/dttt>"
应该是W4345100
。
但是我只能实现: W43451005
尝试使用此正则表达式: [<>td/]|.(?=[<>td/]*$)
[<>td/]
匹配目标字符;.(?=[<>td/]*$)
匹配结束目标字符序列之前的字符,这基本上是删除所有目标字符后的最后一个字符; 首先,预期的 output 表明应删除由d, t, <, >, /
组成的序列,然后必须删除字符串末尾此匹配项之前的字符。
这可以通过以下正则表达式来实现:
System.out.println("dtt>W43451005/dttt>".replaceAll("([<>td/]|.[<>td/]*$)", ""));
Output
W4345100
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.