C#。在单词上拆分标识符
我有一些识别器。例如:“basicHtmlConverter”。C#。在单词上拆分标识符,c#,regex,C#,Regex,我有一些识别器。例如:“basicHtmlConverter”。 我需要在一些词上拆分他的内容:“基本Html转换器” 我想用一些模式来使用Regex.Split。试试这个Regex: ([a-z]+)([A-Z]?[a-z]*)+ 您的代码应该是这样的: var nameList = new List<string>(); var inputString = "canClearScene"; foreach (Capture capture in Regex.Matches(in
我需要在一些词上拆分他的内容:“基本Html转换器”
我想用一些模式来使用
Regex.Split
。试试这个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);
}
string[] output = string.Split(" ", string.Join("", yourString.Select(c => string.Format(Char.IsUpper(c) ? " {0}" : "{0}", c)));
不需要regexp:只需扫描字符串一次,然后通过LINQ完成任务
yourString.Select(c => string.Format(Char.IsUpper(c) ? " {0}" : "{0}", c));
这将为您提供一个IEnumerable
对象,其中包含您所需的所有数据,它可以成为您所需的内容,如下所示:
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);
}
string[] output = string.Split(" ", string.Join("", yourString.Select(c => string.Format(Char.IsUpper(c) ? " {0}" : "{0}", c)));
基本上,流程是这样的:
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);
}
string[] output = string.Split(" ", string.Join("", yourString.Select(c => string.Format(Char.IsUpper(c) ? " {0}" : "{0}", c)));
- 插入所需的任何空间
- 打包数据
- 分割代币