Regex.Split() 在逗号、空格或分号分隔的字符串上 [英] Regex.Split() on comma, space or semi-colon delimitted string

查看:41
本文介绍了Regex.Split() 在逗号、空格或分号分隔的字符串上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试拆分一个字符串,该字符串可以是逗号、空格或分号分隔的.它还可以在每个分隔符之后包含一个或多个空格.例如

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆