繁体   English   中英

用其他char替换(不删除)String中的特殊char

[英]Replacing (not removing) special char in a String by other char

我需要将"《br》"替换为"<br>"

replaceAll不起作用,但如果我在调试时在变量窗口中这样做......它可以工作!

indexOf("《") ,返回-1但使用变量窗口返回12

我怎样才能更换它?

这是我在调试时在变量窗口中看到的。代码中的相同内容不起作用。

这是我在代码中看到的(检查这个>:pos1 = -1)

所以问题是,如何使它在代码中工作

由于String是不可变的,因此您不会更改text变量的原始值。 replaceAll创建具有正确值的新String,您必须将其分配给变量才能使用它。

使用参考可以在这里找到更多解释,但基本用法是:

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变量。

对我来说,替换工作正常。

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类中使用UTF-16表示。 在此表示中,补充字符表示为一对char值,第一个来自高代理范围(\\ uD800- \\ uDBFF),第二个来自低代理范围(\\ uDC00- \\ uDFFF)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM