首页 > 解决方案 > C#字符串拆分成一两个变量

问题描述

在 C# 中,我将单个字符串值传递给函数。该值类似于此:"XA=12345678;BK=AZ31"或者"XA=87654321",有时BK=存在,有时不存在。但如果它存在,我需要它来完成我的功能。

我做了这个尝试:

string[] item_list = { "XA=12345678;BK=AZ31", "XA=87654321" };
string XA_EQ = "";
string BK_EQ = "";
foreach(string item in item_list)
{
    BK_EQ = "";
    string[] split = item.Split(';');
    XA_EQ = split[0];
    if(split.length == 2)
        BK_EQ = split[1];
    my_func(XA_EQ, BK_EQ);
}

有一个更好的方法吗?这可行,但似乎不方便。

标签: c#

解决方案


正则表达式方法

string[] item_list = { "XA=12345678;BK=AZ31", "XA=87654321" };
foreach (string item in item_list)
{
    string XA_EQ = Regex.Match(item, "(?<=XA=)[0-9A-Z]*").Value;
    string BK_EQ = Regex.Match(item, "(?<=BK=)[0-9A-Z]*").Value;
    my_func(XA_EQ, BK_EQ);
}

https://dotnetfiddle.net/6xgBi3


推荐阅读