java - 如何删除在 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/]*$)
匹配结束目标字符序列之前的字符,基本上是移除所有目标字符后的最后一个字符;
推荐阅读
- reactjs - 何时执行带有双箭头符号的“useEffect”?
- r - 个人中的行编号(Id)
- python - 来自查询集的加权平均值 - Django
- ios - Swift:如果 traitCollection.userInterfaceStyle == .unspecified,我如何确定它是处于亮模式还是暗模式?
- django - 在我的视图中添加删除功能后,Django 'AnonymousUser' 对象不可迭代
- c++ - 为什么我会超过时间限制
- r - 在 R 中重新投影时停止映射
- linux-kernel - 有人能解释一下 biolatency tool (bcc) 测量的确切延迟是多少吗?
- r - R闪亮的交替动作按钮
- node.js - 为什么我的 Discord.js 机器人在用户数少于 500 的服务器上响应时间超过 5 分钟?