如何使用条件将数组中的项拆分为两个项?

van*_*loc 3 c# arrays

我上面有一个例子.

有阵列像:

array[0] = TODO 06:15PMJoin Michael
array[1] = WakeUp
array[2] = Going to schools
Run Code Online (Sandbox Code Playgroud)

我希望它变得像:

array[0] = TODO 06:15PM
array[1] = Join Michael
array[2] = WakeUp
array[3] = Going to schools
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我拆分项目有内容TODO 06:15PMJoin Michael到新的两个项目.

这里有两个单独的问题:

如何创建在数组中创建新项目的角色?

我尝试使用我的代码:

var splitList = words.SelectMany(x => x.Contains("AM") || x.Contains("PM"))

但我不知道如何从文本AMPM新项目中分割出来arrays.

Dmi*_*nko 5

您可以尝试查找AM/ PM并获取子串:

  String[] array = new String[] {
    "TODO 06:15PMJoin Michael",
    "WakeUp",
    "Going to schools"
  };

  var result = array
    .SelectMany(line => {
        int p = line.IndexOf("AM");

        if (p >= 0)
          return new String[] { 
            line.Substring(0, p + "AM".Length), 
            line.Substring(p + "AM".Length) };

        p = line.IndexOf("PM");

        if (p >= 0)
          return new String[] { 
            line.Substring(0, p + "PM".Length), 
            line.Substring(p + "PM".Length) };

        return new String[] { line };
      }
    );
  //.ToArray(); // if you want to have array representation

  // Test
  Console.Write(String.Join(Environment.NewLine, result));
Run Code Online (Sandbox Code Playgroud)