如何正确地将字符串转换为单词和标点符号列表



我有一个字符串:IDLIST, ID NAME;。并且需要将其转换为列表:{"IDLIST", ",", "ID", "NAME", ";"}

很明显,如何用空格分割字符串,但如何处理标点符号呢?

单词可以是任何一组字母。标点符号也可以是任意的。

您可以使用下面的Regex.Split函数,

string value = "IDLIST, ID NAME;";
string[] lines = Regex.Split(value, @"s+|(?!^)(?=p{P})|(?<=p{P})(?!$)");
foreach (string line in lines) {
Console.WriteLine(line);

演示

您可以匹配所有的标点符号或字母,然后将匹配的字符串附加到列表中。

@"p{P}|p{L}+"

演示

p{P}匹配任何类型的标点符号,p{L}匹配任何语言的任何类型的字母。

相关内容

最新更新