You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中Split分割含连字符字符串时,如何保留负号并避免空值?

解决字符串分割保留连续负号的问题

问题里用Split('-')会把每个-都当成分割符,连续-之间会生成空字符串,而且分割符本身会被丢弃,所以--340被拆成了空项和340,不符合预期。

要实现保留连续-里的第二个符号、同时避免空项的效果,推荐用正则表达式分割:

using System.Text.RegularExpressions;

string operatingwt = "Description 2--340-20";
string[] result = Regex.Split(operatingwt, @"(?<!-)-");

结果说明

分割后得到的数组内容为:

  • Description 2
  • -340
  • 20

正则表达式(?<!-)-的作用是只匹配前面没有-的-,这样只会把单独的-作为分割符,连续-里的第二个符号会保留在后续项中,同时不会产生空字符串。


内容的提问来源于stack exchange,提问作者sai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:10:11