首页 > 解决方案 > 如何删除在 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

标签: javaregex

解决方案


尝试使用这个正则表达式:[<>td/]|.(?=[<>td/]*$)

正则表达式 101


  • [<>td/]匹配目标字符;
  • .(?=[<>td/]*$)匹配结束目标字符序列之前的字符,基本上是移除所有目标字符后的最后一个字符;

推荐阅读