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; seeMatcher.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 matched
replacement- the string to be substituted for each match
Returns:
The resulting  String
Throws:
PatternSyntaxException- if the regular expression's syntax is invalid
Since:
1.4
See 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 = " 1  DA   232";

line=Regex.Replace(line.Trim(),"\\s+", " ");

 

JAVA源码:

String line = " 1  DA   232";

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)”,可以实现上述“正则匹配替换”功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值