当前位置: 技术问答>java相关
请问Java中的替换函数
来源: 互联网 发布时间:2015-05-06
本文导语: 例如:我想把abcdefgh中的abc换成bbb 有提供字符串替换的函数吗? String的replace好象只能替换字符,不能替换字符串。那该怎么办啊? 多谢 | /** 把回车换行替换成 @param source 待处理的源字串 @...
例如:我想把abcdefgh中的abc换成bbb
有提供字符串替换的函数吗?
String的replace好象只能替换字符,不能替换字符串。那该怎么办啊?
多谢
有提供字符串替换的函数吗?
String的replace好象只能替换字符,不能替换字符串。那该怎么办啊?
多谢
|
/**
把回车换行替换成
@param source 待处理的源字串
@return 已将"rn"替换成"
"的字串
*/
public static String nl2br(String source)
{
return replace("rn","
",source);
}
/**
把haystack中的needle替换成str
@param haystack 待处理的源字串
@param needle 要被取代的字串
@param str 替换成str字串
@return 已处理的字串
*/
public static String replace(String needle,String str,String haystack)
{
if (haystack == null)
{
return null;
}
int i=0;
if ( ( i=haystack.indexOf( needle, i ) ) >= 0 )
{
char [] line = haystack.toCharArray(); //把字串类转成字符数组
char [] newString = str.toCharArray();
int needleLength = needle.length();
StringBuffer buf = new StringBuffer(line.length);
buf.append(line, 0, i).append(newString);
i += needleLength;
int j = i;
while( ( i=haystack.indexOf( needle, i ) ) > 0 )
{
buf.append(line, j, i-j).append(newString);
i += needleLength;
j = i;
}
buf.append(line, j, line.length - j);
return buf.toString();
}
return haystack;
}
把回车换行替换成
@param source 待处理的源字串
@return 已将"rn"替换成"
"的字串
*/
public static String nl2br(String source)
{
return replace("rn","
",source);
}
/**
把haystack中的needle替换成str
@param haystack 待处理的源字串
@param needle 要被取代的字串
@param str 替换成str字串
@return 已处理的字串
*/
public static String replace(String needle,String str,String haystack)
{
if (haystack == null)
{
return null;
}
int i=0;
if ( ( i=haystack.indexOf( needle, i ) ) >= 0 )
{
char [] line = haystack.toCharArray(); //把字串类转成字符数组
char [] newString = str.toCharArray();
int needleLength = needle.length();
StringBuffer buf = new StringBuffer(line.length);
buf.append(line, 0, i).append(newString);
i += needleLength;
int j = i;
while( ( i=haystack.indexOf( needle, i ) ) > 0 )
{
buf.append(line, j, i-j).append(newString);
i += needleLength;
j = i;
}
buf.append(line, j, line.length - j);
return buf.toString();
}
return haystack;
}
|
用循环做
一个一个的判断
一个一个的判断
|
自己编替换函数,呵呵
|
为什么SUN不提供呢?