JAVA中string.replace和string.replaceAll的区别及用法

JAVA中string.replace和string.replaceAll的区别及用法,第1张

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

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串)\r\n2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号\r\n\r\n相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串\r\n另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的 *** 作\r\n还有一点注意:执行了替换 *** 作后,源字符串的内容是没有发生改变的. \r\n\r\n举例如下: \r\n\r\nString src = new String("ab43a2c43d")\r\n\r\nSystem.out.println(src.replace("3","f"))=>ab4f2c4fd. \r\nSystem.out.println(src.replace('3','f'))=>ab4f2c4fd. \r\nSystem.out.println(src.replaceAll("\\d","f"))=>abffafcffd. \r\nSystem.out.println(src.replaceAll("a","f"))=>fb43fc23d. \r\nSystem.out.println(src.replaceFirst("\\d,"f"))=>abf32c43d \r\nSystem.out.println(src.replaceFirst("4","h"))=>abh32c43d.

在 需要插入的 sql 语句中 内个 字符串 上作下判断 String[] s= Str.submit(" sql 中需要传入 的字符转 for(Int i= 0 i<s.length i++){

if(s[i].equas(')){

s=\(转义符)+s[i].index-1 -------吧转义符 添加到 ‘ 的前面通过索引 (内个方法忘了)

}}

n = s.tostring

然后把 n 传入 sql 中 如果是大篇幅的 英文文章 这佯作将消耗比较多的资源

以上样例 仅供参考


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6803542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存