我对C#有一个简单的问题,基本上我想根据大写字符将字符串(没有空格)分成单词。
假设我有一个字符串“MenInBlack”,我想将其拆分为:“Men”,“In”和“Black”
我已尝试Regex.Split
,但不是按照我的目标,代码示例如下:
string[] word = Regex.Split(a, @"[A-Z]",RegexOptions.Compiled);
看起来像Split方法会排除分裂条件,我只得到“en”,“n”和“lack”。
任何想法如何解决上述问题?
先谢谢你。
答案 0 :(得分:3)
不要拆分,搜索。拆分意味着你有一个分隔符,即不是将令牌彼此分开的令牌的一部分。
只需搜索[A-Z][a-z]+
var regex = new Regex(@"([A-Z][a-z]*)");
var matches = regex.Matches(searchString);