我需要将"《br》"
替换为"<br>"
。
replaceAll
不起作用,但是如果我在调试时在变量窗口中使用它,那么它将起作用!
与indexOf("《")
相同,返回-1,但使用变量window返回12
如何更换?
所以问题是,如何使其在代码中起作用
答案 0 :(得分:2)
由于String是不可变的,因此您不会更改text
变量的原始值。 replaceAll
用正确的值创建新的String,您必须将其分配给变量才能使用。
用法参考可以在here中找到更多说明,但是基本用法是:
String originalText ="some text with letters to replace";
String newTextWithReplacedValues = originalText.replaceAll("a","e");//replaces all occurrences of "a" to "e"
System.out.println(newTextWithReplacedValues);
由于text.replaceAll(...)
返回正确的值,因此您可以看到它在调试器中正在工作。它只是不更改原始text
变量。
答案 1 :(得分:1)
对我来说,更换就可以了。
public class Application {
public static void main(String[] args) {
String s = "《br》";
s = s.replace("《", "<").replace("》", ">");
System.out.println(s);
}
}
《可能不是单个字符,因为'<'给出了一个错误,但是“ <”有效。
有时会引用从U + 0000到U + FFFF的字符集 作为基本的多语言平面(BMP)。代码指向的字符 大于U + FFFF的字符称为补充字符。 Java 平台在char数组和 String和StringBuffer类。在此表示形式中,补充 字符表示为一对char值,第一个从 高代理范围(\ uD800- \ uDBFF),从 低代理范围(\ uDC00- \ uDFFF)。