首页 新闻 赞助 找找看

C#如何去掉字符串首尾特定字符(串)?

0
悬赏园豆:20 [已解决问题] 解决于 2012-02-23 09:10
string val="abcabcTestabcTestabcabc";

现在求一方法可以去掉首尾的字符串"abc",处理后的结果为 "TestabcTest"

最好能有一个参数来指定是否贪婪模式(非贪婪模式处理结果为 "abcTestabcTestabc")

用正则表达式处理也行

观海云不远的主页 观海云不远 | 初学一级 | 园豆:89
提问于:2012-02-22 18:22
< >
分享
最佳答案
1
 ///<summary>
/// 截前后字符(串)
///</summary>
///<param name="val">原字符串</param>
///<param name="str">要截掉的字符串</param>
///<param name="all">是否贪婪</param>
///<returns></returns>
private string GetString(string val,string str,bool all)
{
return Regex.Replace(val, @"(^(" + str + ")" + (all ? "*" : "") + "|(" + str + ")"+(all ? "*" : "") + "$)", "");
}
收获园豆:15
LCM | 大侠五级 |园豆:6876 | 2012-02-22 18:55
其他回答(2)
0

如果用正则表达式可以这样:

"^abc|abc$"

"^(?:abc)*|(?:abc)*$"

收获园豆:5
_A_A | 园豆:1139 (小虾三级) | 2012-02-22 18:54
0

这么多字符只能用正则表达式了。如果是首尾一个字符就可以这样:

string str = "aaaaaabbbbbccccccc";            

 str = str.TrimEnd('a');          

 str = str.TrimStart('b');

悟行 | 园豆:12559 (专家六级) | 2012-02-22 20:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册