java - Java从字符串中删除动态子字符串
问题描述
我需要从字符串中删除动态子字符串。这个主题有几个类似的话题,但没有人帮助我。我有一个字符串,例如:
产品 test1="001" test2="abc" test3="123xzy"
我需要输出:
产品 test1="001" test3="123xzy"
我的意思是我需要删除 test2="abc"。test2 是一个独特的元素,可以放置在原始字符串中的任何位置。“abc”是动态变量,可以有各种长度。这个问题的最快和最优雅的解决方案是什么?谢谢
解决方案
您可以使用正则表达式:
String input = "product test1=\"001\" test2=\"abc\" test3=\"123xzy\"";
String result = input.replaceAll("test2=\".*?\"\\s+", "");
实质上:找到一个子字符串,如test2="xxxxxx"
,可选地后跟一些空格 ( \\s+
) 并将其替换为空。
推荐阅读
- swift - Swift UI facetime 链接失败(OSStatus 错误 -10814。)
- python - 使用scrapy生成项目
- c# - 如何在 c# 表单中输入 Lshift 和 Rshift?
- ibm-appid - 带有 ADFS 的 IBM APP ID 使用 Windows 集成身份验证 WIA
- android - 使用 Java 将 android studio 连接到 azure sql 数据库
- c# - 长时间运行的计算 .net 核心的性能问题 - 单独的线程池
- java - Java JTabbedPane 只看到一个选项卡
- angular - 改变内容
以编程方式从组件 - html - 为什么div里面的html代码没有被解析?
- android - 在 null 上调用 getter 'length',Flutter 中的错误