我试图拆分一个由逗号、空格或分号分隔的字符串。每个分隔符后面可能还包含一个或多个空格。例如:
22222,11111,23232
OR
22222, 11111, 23232
OR
22222; 11111; 23232
OR
22222 11111 23232
任意一个都会生成一个包含三个值的数组 ["22222","11111","23232"]
目前我有以下代码 var values = Regex.Split("22222, 11111, 23232", @"[\\s,;]+")
但这会导致第二和第三个值包括空格的数组,如下所示:
["22222"," 11111"," 23232"]
\s
不仅仅代表空格字符。它还代表换页符\u000C
、换行符\u000A
、回车符\u000D
、制表符\u0009
、垂直制表符\u000B
、省略号或下一行(NEL)字符(…)\u0085
,以及任何分隔符字符(\u0020
、\u00A0
、\u1680
、\u2000
、\u2001
、\u2002
、\u2003
、\u2004
、\u2005
、\u2006
、\u2007
、\u2008
、\u2009
、\u200A
、\u202F
、\u205F
、\u3000
)。https://msdn.microsoft.com/zh-cn/library/20bw873z.aspx#Anchor_7 - JDB