如何在java中替换句点

悬赏:10 发布时间:2008-07-09 提问人:unique5945 (初级程序员)

		String s = "ffff.fff.fff.f";
		Pattern.compile("\\.").matcher(s).replaceAll("_");
		System.out.println(s);

		s.replaceAll("\\.", "_");
		System.out.println(s);

		s.replace('.', '_');
		System.out.println(s);

		String[] splitedString = s.split("\\.");
		for(int i = 0; i < splitedString.length; i++){
			System.out.println(splitedString[i]);

上述代码的输出结果是
ffff.fff.fff.f(用第一种replaceAll方法失败)
ffff.fff.fff.f(用第二种replaceAll方法失败)
ffff.fff.fff.f(用replace方法失败)
ffff(用split方法倒是能够顺利执行"\\."这个正则表达式)
fff
fff
f

请问如何将字符串中的句点替换成别的字符
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员

回答

System.out.println("ffff.fff.fff.f".replaceAll("\\.","_"));

你为什么不这样
剑 事 (初级程序员) 2008-07-09
Pattern.compile("\\.").matcher(s).replaceAll("_");
System.out.println(s);

s.replaceAll("\\.", "_");
System.out.println(s);

s.replace('.', '_');
System.out.println(s);

用的方法都是对的,只是这些都是返回的新的String,你需要重新给s赋值。

比如
s = Pattern.compile("\\.").matcher(s).replaceAll("_");
hjgundam (高级程序员) 2008-07-09
String[] splitedString = s.split(".");
返回的是一个数组
用一个循环
splitedString+你想要替换的字符
joyo2008 (初级程序员) 2008-07-09
哈哈,我也被欺骗了
2楼标准答案
easyroom (初级程序员) 2008-07-24