JAVA中string.replace和string.replaceAll的区别及用法
1、替换方式不同
【public String replace( )】
是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
【public String replaceAll( )】
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
2、参数不同
【replace】的参数是char和CharSequence。可以支持字符的替换,也支持字符串的替换。
【replaceAll】的参数是regex,regex表示是正则表达式。即基于正则表达式的替换。
用法范例一:
public static void main(String[] arg) throws OgnlException {
String s =”sdf\\a\\aa”;
//把s中的反斜杠\ 替换为\\
System.out.println(s);
System.out.println(s.replaceAll(“\\\\”, “\\\\\\\\”));
System.out.println(s.replace(“\\”, “\\\\”));
}
用法范例二:
String str = “wel2come3Souhe”;
String str1 = str.replace(“e”, “E”);
String str3 = str.replace(‘e’, ‘E’);
System.out.println(“replace字符串==” + str1);
System.out.println(“replace字符==”+str3);
String str2 = str.replaceAll(“\\d”, “a”);//将数字替换a
System.out.println(“replaceAll==” + str2);
输出结果:
replace字符串==wEl2comE3SouhE
replace字符==wEl2comE3SouhE
replaceAll==welacomeaSouhe
扩展资料
Java中的String类
1、String类是final类,因此String类不能被继承。
2、String的成员方法都默认为final方法。
3、被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。
4、String类其实是通过char数组来保存字符串的。
5、String对象一旦被创建就是固定不变的。
6、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。
参考资料:百度百科-Java
参考资料:百度百科-string
在java中replace方法如何使用
public String replace(char oldChar,
char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
如果 oldChar 在此 String 对象表示的字符序列中没有出现,则返回对此 String 对象的引用。否则,创建一个新的 String 对象,它所表示的字符序列除了所有的 oldChar 都被替换为 newChar 之外,与此 String 对象表示的字符序列相同。
示例:
“mesquite in your cellar”.replace(‘e’, ‘o’)
returns “mosquito in your collar”
“the war of baronets”.replace(‘r’, ‘y’)
returns “the way of bayonets”
“sparring with a purple porpoise”.replace(‘p’, ‘t’)
returns “starring with a turtle tortoise”
“JonL”.replace(‘q’, ‘x’) returns “JonL” (no change)
参数:
oldChar – 原字符。
newChar – 新字符。
返回:
一个从此字符串派生的字符串,它将此字符串中的所有 oldChar 替代为 newChar。
java如何实现替换指定位置的指定字符串的功能
可以使用StringBuffer定义字符串,之后使用replace方法替换指定位置的字符串为指定的字符串内容,如下代码:
public
class
Demo1
{
public
static
void
main(String[]
args)
{
StringBuffer
buffer
=
new
StringBuffer(“123456”);
System.out.println(buffer.toString());//输出123456
buffer.replace(0,
1,
“a”);
System.out.println(buffer.toString());//输出a23456
}
}
这里简单介绍一下replace方法的使用,replace方法一共有三个参数,第一个参数是指定要替换的字符串的开始位置,第二个参数是指定要替换的字符串的结束位置(注意这里的结束位置不包括本身),第三个参数是指定想将字符串替换成什么内容。
如:原字符串内容为”123456″,现在调用replace(0,
2,
“abc”),原字符串变为”abc3456″
java中怎么进行字符串替换?
使用replace方法
该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串,例如:
String s = “abcat”;
String s1 = s.replace(‘a’,‘1’);
该代码的作用是将字符串s中所有的字符a替换成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的内容不发生改变。如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使用replaceAll方法,例如:
String s = “abatbac”;
String s1 = s.replaceAll(“ba”,“12”);
该代码的作用是将字符串s中所有的字符串“ab”替换为“12”,生成新的字符串“a12t12c”,而字符串s的内容也不发生改变。
字符串在存储上类似字符数组
它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:
长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
java replace 正则表达式
表达方式:
replace方法并不能改变字符串本身的,只是replace方法能返回一个处理后的字符串而已,例如:
String
s=”hello”;
System.out.println(s.replace(“h”,”H”));
System.out.println(s);
输出结果:
Hello
hello
srcString.replaceAll(“[\s()]”,”_”);
\s表示一个空白符;
[\s()]表示
空格
左括号
或者
右括号中出现其中任何一个
replaceAll(“[\s()]”,”_”);
即表示用_替代字符串中出现的空格符、左括号、右括号。