首页 > 解决方案 > Java从字符串中删除动态子字符串

问题描述

我需要从字符串中删除动态子字符串。这个主题有几个类似的话题,但没有人帮助我。我有一个字符串,例如:

产品 test1="001" test2="abc" test3="123xzy"

我需要输出:

产品 test1="001" test3="123xzy"

我的意思是我需要删除 test2="abc"。test2 是一个独特的元素,可以放置在原始字符串中的任何位置。“abc”是动态变量,可以有各种长度。这个问题的最快和最优雅的解决方案是什么?谢谢

标签: javastring

解决方案


您可以使用正则表达式:

String input = "product test1=\"001\" test2=\"abc\" test3=\"123xzy\"";
String result = input.replaceAll("test2=\".*?\"\\s+", "");

实质上:找到一个子字符串,如test2="xxxxxx",可选地后跟一些空格 ( \\s+) 并将其替换为空。


推荐阅读