C#中如何实现JAVA中的String.replaceAll()方法功能

jdk原文注释:

string java.lang.string.replaceall(string regex, string replacement)

replaceall

public string replaceall(string regex,

string replacement)

replaces each substring of this string that matches the given regular expressionwith the given replacement.

an invocation of this method of the form str.replaceall(regex, repl)yields exactly the same result as the expression

pattern.compile(regex).matcher(str).replaceall(repl)

note that backslashes (\) and dollar signs ($) in the replacement string may cause the results to be different than if it were being treated as a literal replacement string; see matcher.replaceall. use matcher.quotereplacement(java.lang.string)to suppress the special meaning of these characters, if desired.

parameters:regex- the regular expression to which this string is to be matchedreplacement- the string to be substituted for each matchreturns:the resulting stringthrows:patternsyntaxexception- if the regular expression's syntax is invalidsince:1.4see also:pattern

其实,大体功能就是java中的replaceall(string regex, string replacement)方法,可以通过指定第一个参数“regex”——正则表达式或者需要替换的子字符串,第二个参数则是用于替换原串或与正则匹配的原串的字符串。

c#中,string 类 有replace(string oldvalue,string newvalue)方法,可以与上述java中的replacealll()方法中的“非正则匹配替换”功能相对应。

那么c#中如何实现“非正则匹配替换”功能呢?是否真的没得折腾了呢,哈哈,要相信在java中有的,c#中大部分都能找到“映射”的。

肺话不多说,看看如何实现吧!

c#中的正则类regex有个静态方法——“replace(sting input,string pattern,string replacement)”可以实现上述功能。

c#源码:

string line = " 1da232";

line=regex.replace(line.trim(),"\\s+", " ");

java源码:

string line = " 1da232";

line = line.trim().replaceall("\\s+", " ");

上述两种源码的最终实现的功能是一致的。

总结:java中的replaceall(string regex, string replacement)方法的功能,在c#中可以通过如下方式实现

a、string 类 有replace(string oldvalue,string newvalue)方法,可以与上述java中的replacealll()方法中的“非正则匹配替换”功能相对应。

b、正则类regex有个静态方法replace(sting input,string pattern,string replacement)”,可以实现上述“正则匹配替换”功能。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值