Mic*_*alB 51 java string substring
假设我有一个string
像这样的字符串:
"abcd=0; efgh=1"
Run Code Online (Sandbox Code Playgroud)
我想用"dddd"替换"abcd".我试过做这样的事情:
string.replaceAll("abcd","dddd");
Run Code Online (Sandbox Code Playgroud)
这是行不通的.有什么建议?
编辑:更具体地说,我在Java工作,我试图解析HTML文档,具体是<script>
标签之间的内容.我已经找到了如何将此内容解析为字符串的方法:
if(tag instanceof ScriptTag){
if(((ScriptTag) tag).getStringText().contains("DataVideo")){
String tagText = ((ScriptTag)tag).getStringText();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我必须找到一种方法如何用另一个子串替换一个子串.
Alp*_*per 72
您需要使用replaceAll()
方法的返回值.replaceAll()
不替换当前字符串中的字符,它返回带有替换的新字符串.
- 字符串对象是不可变的,它们的值在创建后无法更改.
- 如果不需要正则表达式,可以使用replace()而不是replaceAll().
String str = "abcd=0; efgh=1";
String replacedStr = str.replaceAll("abcd", "dddd");
System.out.println(str);
System.out.println(replacedStr);
Run Code Online (Sandbox Code Playgroud)
输出
abcd=0; efgh=1
dddd=0; efgh=1
Run Code Online (Sandbox Code Playgroud)
anu*_*ava 13
你应该注意的两件事:
String#replace(String)
完成这项工作.所以只需使用此代码:
String replaced = string.replace("abcd", "dddd");
Run Code Online (Sandbox Code Playgroud)
小智 12
您需要创建变量以将新值分配给,如下所示:
String str = string.replaceAll("abcd","dddd");
Run Code Online (Sandbox Code Playgroud)
通过正则表达式,我认为这是java,该方法replaceAll()
返回一个新的String并替换了子字符串,因此请尝试以下操作:
String teste = "abcd=0; efgh=1";
String teste2 = teste.replaceAll("abcd", "dddd");
System.out.println(teste2);
Run Code Online (Sandbox Code Playgroud)
输出:
dddd=0; efgh=1
Run Code Online (Sandbox Code Playgroud)