java 查找和替换字符串

J2EE 码拜 10年前 (2015-04-16) 1508次浏览 0个评论

遇到了一个麻烦的事,就是java 替换的问题,
首先有个一个非常长的字符串
比如:

String str = "asdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdaasdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdsdhfkjahdkfjhaksjSummersdfasdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdsdf地发asdhfkjahdkfjhaksjSummersdfsdf地发的飞dfd的飞dfd";

 这个String 很大,
现在就是查找出 Summer 这个单词出现的地方,替换成File这个单词,且顺序不能乱。也要考虑到效率问题

有哪位java大神能帮我指点迷津…

java 查找和替换字符串
2分
直接replace 不行吗?
java 查找和替换字符串
引用 1 楼 rui888 的回复:

直接replace 不行吗?

不行的,我要记录下来替换的记录,如果只是一个replace就可以解决的,我就不用愁了

java 查找和替换字符串
2分
什么记录什么意思啊。具体
java 查找和替换字符串
引用 3 楼 rui888 的回复:

什么记录什么意思啊。具体

//就是在这段字符串中 ,第一次出现了 Summer 这个单词 ,就要有个类似有一个
        Map<String, Object> map= new HashMap<String, Object>();
        map.put("Summer1", "summer");
//第二个 Summer 出现了 
       map.put("Summer2", "summer");
//以此类推...
java 查找和替换字符串
10分
不是太懂。

String str = "asdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdaasdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdsdhfkjahdkfjhaksjSummersdfasdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdsdf地发asdhfkjahdkfjhaksjSummersdfsdf地发的飞dfd的飞dfd";
		Map<String, Object> map = new HashMap<String, Object>();
		Matcher m = Pattern.compile("Summer").matcher(str);
		int k = 0;
		while (m.find()) {
			map.put("Summer" + k, "summer");
			k++;
		}
java 查找和替换字符串
引用 5 楼 rui888 的回复:

不是太懂。

String str = "asdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdaasdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdsdhfkjahdkfjhaksjSummersdfasdhfkjahdkfjhaksjSummersdfsdf地发的飞dfdsdf地发asdhfkjahdkfjhaksjSummersdfsdf地发的飞dfd的飞dfd";
		Map<String, Object> map = new HashMap<String, Object>();
		Matcher m = Pattern.compile("Summer").matcher(str);
		int k = 0;
		while (m.find()) {
			map.put("Summer" + k, "summer");
			k++;
		}

谢谢你了,我已经想到怎么做了,我打算自己写一个replace这个方法,应该就行了。。。

java 查找和替换字符串
5分
String.index()
replace()
map.put()
这样如何
java 查找和替换字符串
1分
用indexof来做啊,用StringBuilder来记录新的字符串,边查找边记录边append,小心生成很多大字符串~
java 查找和替换字符串
20分
使用正则表达式呀

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java 查找和替换字符串
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!