需要Regex拆分帮助

bnl4lu3b  于 2023-02-10  发布在  其他
关注(0)|答案(3)|浏览(84)

用于拆分客户ID、付款金额、日期、电子邮件日期四天、RefNo的正则表达式
客户ID付款金额日期电子邮件日期四天参考编号

Regex.Split(fieldValue, "[\\s;,]" , RegexOptions.IgnoreCase)

我得到的是空值

bqucvtff

bqucvtff1#

基于此answer,您可以简单地通过以下方式将其过滤掉:

var result = Regex.Split(fieldValue, "[\s;,]" , RegexOptions.IgnoreCase)
     .Where(s => s != String.Empty);
wrrgggsh

wrrgggsh2#

可以使用Where()删除所有空元素,

var result = Regex.Split(fieldValue, "[\\s;,]" , RegexOptions.IgnoreCase)
     .Where(x => !string.IsNullOrEmpty(x)) //Filter non empty strings
     .ToList() //Convert to list
nkcskrwz

nkcskrwz3#

在一个Fiddle中,我测试了这个函数对(我假设的)输入的作用:

using System;
                    
public class Program
{
    public static void Main()
    {
        var input = 
@"CustomerID
PaymentAmount
Date
EmailDateFourDays
RefNo";
        
        Console.WriteLine(string.Join("|",input.Split(new char[]{' ', '\n'}, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)));
    }
}

它不是Regex,但会生成以下输出:

CustomerID|PaymentAmount|Date|EmailDateFourDays|RefNo

其指示已经找到所有字段并且移除空字段。

相关问题