Regex.Split() 在逗号、空格或分号分隔的字符串上 [英] Regex.Split() on comma, space or semi-colon delimitted string
问题描述
我正在尝试拆分一个字符串,该字符串可以是逗号、空格或分号分隔的.它还可以在每个分隔符之后包含一个或多个空格.例如
I'm trying to split a string that can either be comma, space or semi-colon delimitted. It could also contain a space or spaces after each delimitter. For example
22222,11111,23232
OR
22222, 11111, 23232
OR
22222; 11111; 23232
OR
22222 11111 23232
其中任何一个都会产生一个包含三个值的数组 ["22222","11111","23232"]
Any one of these would produce an array with three values ["22222","11111","23232"]
到目前为止,我有 var values = Regex.Split("22222, 11111, 23232", @"[\s,;]+")
但这会生成一个数组,其中包含第二个和第三个值,包括像这样的空格:
So far I have var values = Regex.Split("22222, 11111, 23232", @"[\s,;]+")
but this produces an array with the second and third values including the space(s) like so:
["22222"," 11111"," 23232"]
推荐答案
你有两种可能:
在这种情况下,您希望按特定的分隔符字符拆分字符串.String.Split
就是为此特殊目的而创建的.这种方法会比 Regex.Split
更快.
In this case, you want to split your string by specific delimiters caracters. String.Split
has been created for this special purpose. This method will be faster than Regex.Split
.
char[] delimiters = new [] { ',', ';', ' ' }; // List of your delimiters
var splittedArray = myString.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
这篇关于Regex.Split() 在逗号、空格或分号分隔的字符串上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!