C# - 删除特殊字符骆驼风格的单词

时间:2009-11-20 11:22:06

标签: c# regex

我正在从camel样式字符串中分割单词。例如

    string str = "winAgainWinBest";
    string r = @"(?=[A-Z])";
    var splitted = Regex.Split(str, r);

我得到了结果

win
Again
Win
Best

当字符串与特殊字符混合时,我将如何删除它并获取字词?

我的意思是string str = "win++Again@@Win--Best\\";

2 个答案:

答案 0 :(得分:1)

你可以尝试:

var splitted = Regex.Split(Regex.Replace(str, @"\W+", ""), @"(?=[A-Z])");

\W[^\w]的简写(等于:[^0-9a-zA-Z_]),因此匹配除a-zA-Z0-9以外的任何字符和_

答案 1 :(得分:0)

试试这个......

([a-z]+)|([A-Z]+[a-z]+)