簡體   English   中英

如何正確地將字符串轉換為單詞和標點符號列表?

[英]How can I properly turn string to list of words and punctuation marks?

我有字符串: 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}匹配任何語言的任何字母。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM