为了账号安全,请及时绑定邮箱和手机立即绑定

使用 ~ 分割字符串时出现问题

使用 ~ 分割字符串时出现问题

C#
慕无忌1623718 2023-07-23 16:49:29
我正在尝试在 C# 中使用波浪号字符拆分字符串我的字符串是:“~ALLERGIST~~ALLERGIST345~添加专业~ALLERGIST”我的代码如下:    string spl="~ALLERGIST~~ALLERGIST345~Add Specialty~ALLERGIST"    if (Convert.ToString(spl).Contains("~"))    {        string s = Convert.ToString(spl);        var elements = s.Split(new[] { '~' }, System.StringSplitOptions.RemoveEmptyEntries);        foreach (string items in elements)        {            cmb.Items.FindItemByValue(items).Checked = true;        }    }分裂后我得到结果。过敏症专家过敏症专家345添加专业过敏症专家相反,结果应该是:~过敏症专家〜过敏症专家345添加专业过敏症专家
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

我们可以通过正则表达式分割来处理这个问题,它在波浪号上分割,~而前面没有另一个波浪号。这种拆分逻辑意味着初始~不会导致拆分(因此~ALLERGIST显示为第一个输出项),并且也会~~ALLERGIST345生成~ALLERGIST345该项。


string input = "~ALLERGIST~~ALLERGIST345~Add Specialty~ALLERGIST";

var items = Regex.Split(input, @"(?<=[^~])~");

foreach(var item in items)

{

    Console.WriteLine(item.ToString());

}

这打印:


~ALLERGIST

~ALLERGIST345

Add Specialty

ALLERGIST


查看完整回答
反对 回复 2023-07-23
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信