当前位置: 技术问答>java相关
各位高手:java中查找字符串并替换用什么方法?
来源: 互联网 发布时间:2015-02-22
本文导语: 各位高手:java中查找字符串并替换用什么方法? | 同意yangzi的看法,这才是最快的方法,不过StringBuffer中的replace是JDK1.2之后才有的,所以我写的一个程序中使用的方法大概如下: 1 public...
各位高手:java中查找字符串并替换用什么方法?
|
同意yangzi的看法,这才是最快的方法,不过StringBuffer中的replace是JDK1.2之后才有的,所以我写的一个程序中使用的方法大概如下:
1 public String replaceSingleTag(String strToProcess, String strFrom, String strTo) {
2 String tempStr = strToProcess;
3 // StringBuffer temp = new StringBuffer(tempStr);
4 int first=0, last=0;
5 while((first = tempStr.indexOf(strFrom))!= -1) {
6 last = first + strFrom.length();
7 StringBuffer temp = new StringBuffer("");
8 temp.append(tempStr.substring(0, first));
9 temp.append(strTo);
10 temp.append(tempStr.substring(last));
11 // temp = temp.replace(first, last, strTo);
12 tempStr = new String(temp);
13 }
14 return tempStr;
15 }
如果你用的JDK是1.2以下的话就不用改了,
要是用的1.2 就把7-10句注释掉,把3和11前的注释去掉。
这个函数的作用是将strToProces中所有的strFrom 替代成strTo,不过有几个小毛病,不知各位大虾看过之后能否指出。:)
1 public String replaceSingleTag(String strToProcess, String strFrom, String strTo) {
2 String tempStr = strToProcess;
3 // StringBuffer temp = new StringBuffer(tempStr);
4 int first=0, last=0;
5 while((first = tempStr.indexOf(strFrom))!= -1) {
6 last = first + strFrom.length();
7 StringBuffer temp = new StringBuffer("");
8 temp.append(tempStr.substring(0, first));
9 temp.append(strTo);
10 temp.append(tempStr.substring(last));
11 // temp = temp.replace(first, last, strTo);
12 tempStr = new String(temp);
13 }
14 return tempStr;
15 }
如果你用的JDK是1.2以下的话就不用改了,
要是用的1.2 就把7-10句注释掉,把3和11前的注释去掉。
这个函数的作用是将strToProces中所有的strFrom 替代成strTo,不过有几个小毛病,不知各位大虾看过之后能否指出。:)
|
public static String StrReplace(String rStr, String rFix, String rRep)
{
int l = 0;
String gRtnStr = rStr;
do
{
l = rStr.indexOf(rFix,l);
if(l == -1) break;
gRtnStr = rStr.substring(0,l) + rRep + rStr.substring(l + rFix.length());
l += rRep.length();
rStr = gRtnStr;
}while(true);
return gRtnStr.substring(0, gRtnStr.length());
}
{
int l = 0;
String gRtnStr = rStr;
do
{
l = rStr.indexOf(rFix,l);
if(l == -1) break;
gRtnStr = rStr.substring(0,l) + rRep + rStr.substring(l + rFix.length());
l += rRep.length();
rStr = gRtnStr;
}while(true);
return gRtnStr.substring(0, gRtnStr.length());
}
|
同意skyyoung & lmy2000, 呵呵 ...
--
http://www.csdn.net/expert/topic/77/77231.shtm
--
http://www.csdn.net/expert/topic/77/77231.shtm
|
还有一种办法,用stringbuffer转。
StringBuffer类的replace可以实现字符串的替换.
StringBuffer类的replace可以实现字符串的替换.