簡體   English   中英

正則表達式拆分字符串

[英]Regular Expression to split string


我試圖解析下面的字符串:

*一種。 BOSCOLO1,4,JA STARR2,N。LUNARDI4,C.ORI4,JP BENNETT,Jr3,V。JEVTOVIC-TODOROVIC2,3,4,

預期產量如下:

*一種。 BOSCOLO1,4
JA STARR2
N. LUNARDI4
C. ORI4
JP BENNETT,Jr3
V. JEVTOVIC-TODOROVIC2,3,4

我不能在分隔符(,)上拆分它們,因為它不一致。 以上是名稱后跟一個或多個數字。 單詞后跟數字和逗號直到下一個單詞,並且不允許任何沒有任何數字的名稱。
我不知道如何編寫REGEX。 任何幫助將受到高度贊賞。
謝謝

您可以使用這樣的正則表達式:;

[*A-Z]\D+\d+(,\d+)*

例:

string data = "*A. BOSCOLO1,4, J. A. STARR2, N. LUNARDI4, C. ORI4, J. P. BENNETT, Jr3, V. JEVTOVIC-TODOROVIC2,3,4,";

MatchCollection matches = Regex.Matches(data, @"[*A-Z]\D+\d+(,\d+)*");

foreach (Match x in matches) {
  Console.WriteLine(x);
}

輸出:

*A. BOSCOLO1,4
J. A. STARR2
N. LUNARDI4
C. ORI4
J. P. BENNETT, Jr3
V. JEVTOVIC-TODOROVIC2,3,4

暫無
暫無

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

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