我有一些识别器。例如:'basicHtmlConverter。'
我需要分享他的一些话:'基本的Html转换器'。
我认为使用Regex.Split
有一些模式。
答案 0 :(得分:0)
试试这个Regex
:
([a-z]+)([A-Z]?[a-z]*)+
你的代码应该是这样的:
var nameList = new List<string>();
var inputString = "canClearScene";
foreach (Capture capture in Regex.Matches(inputString, "(?<name>[a-z]+)(?<name>[A-Z]?[a-z]*)+")[0].Groups["name"].Captures)
{
nameList.Add(capture.Value);
}
或LINQ
方式:
var nameList = (from Capture capture in Regex.Matches(inputString, "(?<name>[a-z]+)(?<name>[A-Z]?[a-z]*)+")[0].Groups["name"].Captures
select capture.Value).ToList();
答案 1 :(得分:0)
不需要regexp:你只需要扫描一次字符串并LINQ完成任务。
yourString.Select(c => string.Format(Char.IsUpper(c) ? " {0}" : "{0}", c));
这将为您提供一个IEnumerable<string>
对象,其中包含您需要的所有数据,这些数据可以满足您的需求:
string[] output = string.Split(" ", string.Join("", yourString.Select(c => string.Format(Char.IsUpper(c) ? " {0}" : "{0}", c)));
基本上,流程是这样的: