Java从字符串中删除动态子字符串

Java从字符串中删除动态子字符串,java,string,Java,String,我需要从字符串中删除动态子字符串。这个主题有几个类似的主题,但没有一个对我有帮助。我有一个字符串,例如: 产品test1=“001”test2=“abc”test3=“123xzy” 我需要输出: 产品test1=“001”test3=“123xzy” 我的意思是我需要删除test2=“abc”。test2是一个独特的元素,可以放在原始字符串中的任何位置。“abc”是动态变量,可以有不同的长度。这个问题最快、最优雅的解决方案是什么?Thx您可以使用正则表达式: String input = "p

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

产品test1=“001”test2=“abc”test3=“123xzy”

我需要输出:

产品test1=“001”test3=“123xzy”


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

您可以使用正则表达式:

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

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

您可以使用正则表达式:

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

实质上:找到一个子串,比如
test2=“xxxxxx”
,后面有一些空格(
\\s+
),然后用空替换它。

字符串按空格拆分,并在生成的
字符串[]
中查找
startsWith(“test2”)
您可以使用正则表达式删除
str.replaceAll(“test2=”)\\w+\,)
按空格拆分
字符串
,并在生成的
字符串[]
中查找
启动的字符串(“test2”)
您可以使用正则表达式删除
str.replaceAll(“test2=\”\\w+\”,“”)谢谢。这对我帮助很大。非常好的解决方案,使用RegExp。谢谢。这对我帮助很大。通过使用RegExp,这是一个非常好的解决方案。