使用〜分割字串时出现问题

时间:2019-07-30 10:47:36

标签: c# asp.net

我正在尝试在C#中使用波浪号字符拆分字符串

我的字符串是: “〜ALLERGIST ~~ ALLERGIST345〜添加专业〜ALLERGIST”

我的代码如下:

for i, row in df.iterrows():
    df.set_value(i, 'DateColumn', datetime.datetime(9999, 12, 31).date())

分割后我得到结果。

  1. ALLERGIST
  2. ALLERGIST345
  3. 添加专业
  4. ALLERGIST

结果应该是:

  1. 〜ALLERGIST
  2. 〜ALLERGIST345
  3. 添加专业
  4. ALLERGIST

1 个答案:

答案 0 :(得分:4)

我们可以通过正则表达式拆分来解决此问题,该拆分在一个波浪号~上进行拆分,该波浪号 not 之前是另一个波浪号。这种拆分逻辑意味着开头的~不会引起拆分(因此~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