java - java中的替换方法

标签 java

<分区>

你能帮我看看这段代码吗:

 s=br.readLine(); 
 s.replace("ch", "c");  
 s.replace("ch", "c");
 s.replace("sh", "s");
 s.replace("zh", "z"); 
 s.replace("Ch", "C");


s.replace("Sh", "S");
s.replace("Zh", "Z"); 
System.out.println(s);

问题是 replace 方法不起作用,它不会替换 String s 中的 ch、sh、zh 字符,所以在输出上我仍然得到相同的字符串而没有改变。

最佳答案

字符串是不可变的。 replace 返回一个新的 String,必须将其分配回 s 以便 s 引用(在end) 到所有替换后的输出 String :

 s=br.readLine(); 
 s=s.replace("ch", "c");  
 s=s.replace("ch", "c");
 s=s.replace("sh", "s");
 s=s.replace("zh", "z"); 
 s=s.replace("Ch", "C");
 s=s.replace("Sh", "S");
 s=s.replace("Zh", "Z"); 
 System.out.println(s);

关于java - java中的替换方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44095519/

相关文章:

java - 获取 ListView 中所选项目的 id

java - Spring PropertySourcesPlaceholderConfigurer : local properties vs environment ones?

Java 启动画面

java - 应用程序存储设置的 Intent

java - 从浏览器运行 native java 应用程序

java - 如何生成随机数以提供正确的除法结果

java - 集合排序(空列表()): cannot infer type-variable

java - 如何在 Java 中从 MQ 系列死信的有效负载 (byte[]) 中分离 RFH2(字符串)?

java - TextArea 多色文本

java - 增加基于 Windows 安装程序的 Tomcat PermGen Space