str.replaceAll和str.replace的区别不可小视

 我来答
紫堇轩爱Summer
推荐于2017-10-13 · 知道合伙人情感行家
紫堇轩爱Summer
知道合伙人情感行家
采纳数:21000 获赞数:112019
毕业于广东财经大学会计学专业,取得管理学学士学位。。 平常喜欢专研心理方面的东西,喜欢答题帮助别人

向TA提问 私信TA
展开全部
在jdk6.0的api中replaceAll()和replease()的解释分别如下:
replaceAll
public String replaceAll(String regex,
String replacement)

使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
此方法调用的 str.replaceAll(regex, repl) 形式产生与以下表达式完全相同的结果:
Pattern.compile(regex).matcher(str).replaceAll(repl)
参数:
regex - 用来匹配此字符串的正则表达式
返回:
得到的 String
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4
另请参见:
Pattern
replace
public String replace(CharSequence target,
CharSequence replacement)

使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。该替换从此字符串的开始一直到结束,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。
参数:
target - 要被替换的 char 值序列
replacement - char 值的替换序列
返回:
得到的字符串
抛出:
NullPointerException - 如果 target 或 replacement 为 null。
从以下版本开始:
1.5

注意:
public String replaceAll(String regex,
String replacement)
其中的第一个参数为正在表达式,而非字符串!!

public String replace(CharSequence target,
CharSequence replacement)这个才是字符串!!
示例代码如下:
public class Demo1 {
@Test
public void test(){
String str = "..abcd";
System.out.println(str.replaceAll("..", ""));
System.out.println(str.replace("..", ""));
}
}

结果为:
abcd

注意:第一行为空,因为在正在表达式当中"."代表任何字符,因此两个".."把所有字符都替换掉了,故输出为空。
就烦条0o
2018-07-30 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
在jdk6.0的api中replaceAll()和replease()的解释分别如下:
replaceAll
public String replaceAll(String regex,
String replacement)
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
此方法调用的 str.replaceAll(regex, repl) 形式产生与以下表达式完全相同的结果:
Pattern.compile(regex).matcher(str).replaceAll(repl)
参数:
regex - 用来匹配此字符串的正则表达式
返回:
得到的 String
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4
另请参见:
Pattern
replace
public String replace(CharSequence target,
CharSequence replacement)
使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。该替换从此字符串的开始一直到结束,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。
参数:
target - 要被替换的 char 值序列
replacement - char 值的替换序列
返回:
得到的字符串
抛出:
NullPointerException - 如果 target 或 replacement 为 null。
从以下版本开始:
1.5
注意:
public String replaceAll(String regex,
String replacement)
其中的第一个参数为正在表达式,而非字符串!!

public String replace(CharSequence target,
CharSequence replacement)
这个才是字符串!!
示例代码如下:
public class Demo1 {
@Test
public void test(){
String str = "..abcd";
System.out.println(str.replaceAll("..", ""));
System.out.println(str.replace("..", ""));
}
}
结果为:
abcd
注意:第一行为空,因为在正在表达式当中"."代表任何字符,因此两个".."把所有字符都替换掉了,故输出为空。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2018-08-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
在jdk6.0的api中replaceAll()和replease()的解释分别如下:
replaceAll
public String replaceAll(String regex,
String replacement)

使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
此方法调用的 str.replaceAll(regex, repl) 形式产生与以下表达式完全相同的结果:
Pattern.compile(regex).matcher(str).replaceAll(repl)
参数:
regex - 用来匹配此字符串的正则表达式
返回:
得到的 String
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4
另请参见:
Pattern
replace
public String replace(CharSequence target,
CharSequence replacement)

使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。该替换从此字符串的开始一直到结束,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。
参数:
target - 要被替换的 char 值序列
replacement - char 值的替换序列
返回:
得到的字符串
抛出:
NullPointerException - 如果 target 或 replacement 为 null。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式