C#中Split分割含连字符字符串时,如何保留负号并避免空值?
解决字符串分割保留连续负号的问题
问题里用Split('-')会把每个-都当成分割符,连续-之间会生成空字符串,而且分割符本身会被丢弃,所以--340被拆成了空项和340,不符合预期。
要实现保留连续-里的第二个符号、同时避免空项的效果,推荐用正则表达式分割:
using System.Text.RegularExpressions; string operatingwt = "Description 2--340-20"; string[] result = Regex.Split(operatingwt, @"(?<!-)-");
结果说明
分割后得到的数组内容为:
Description 2-34020
正则表达式(?<!-)-的作用是只匹配前面没有-的-,这样只会把单独的-作为分割符,连续-里的第二个符号会保留在后续项中,同时不会产生空字符串。
内容的提问来源于stack exchange,提问作者sai
相关产品推荐
相关产品推荐

