如果标签之间不存在,我想替换字符串。
例:
如果c_str()
中没有str1
,则将str2
替换为<>
。
输入字符串
<field1_str1>randomvalue_str1</field1_str1><field2_str1 > randomvalue_str1_random_value </field2_str1 >
输出字符串
<field1_str1>randomvalue_str2</field1_str1 ><field2_str1 > randomvalue_str2_random_value </ field2_str1 >
答案 0 :(得分:0)
虽然你给出的例子并没有真正帮助,但我会给你第一行提出的问题的逻辑
Str str1="<Heylo>";
Str str2="Boo";
int stuff=hello.length();
if(str1.charAt(0).equals("<"); && str.charAt(stuff).equals(">")
System.out.println("It is in tags");
else
str1=str2;
答案 1 :(得分:0)
在查看您想要替换的位置的示例的基础上,您似乎想要替换两个XML标记之间出现的字符串。考虑更换&gt;之间发生的字符串似乎更容易。和&lt;而不是&lt;和&gt;。
String input = "<field1_str1>randomvalue_str1</field1_str1><field2_str1 > randomvalue_str1_random_value </field2_str1 >";
String str1 = "str1";
String str2 = "str2";
String replace = input.replaceAll(">([^<]*?)" + str1, ">$1" + str2);
此替换查找&gt;开始比赛,因为我们不想匹配标签内的东西。然后它将匹配任何不是&lt;因为这将结束我们的匹配并启动XML标记,它将继续匹配,直到找到str1。在成功匹配时,它将添加我们匹配的第一部分并将str1替换为str2。此代码返回您在输出字符串中查找的内容。