如何使用Linq在换行符和空格上分割字符串

本文关键字:空格 分割 字符串 换行符 何使用 Linq | 更新日期: 2023-09-27 18:04:03

我有一个字符串:

string data = 
"item1  actived
 item2  none
 item special I none
 item special II actived"

可以看到数据中的4行。我需要将一个字符串拆分为List项,如下所示:

item[0]={Name=item1, Status=actived}
item[1]={Name=item2, Status=none}
item[2]={Name=item Special I, Status=none}
item[3]={Name=item Special II, Status=actived}

我试过:

var s = SplitReturn(data);
public string[] SplitReturn(string name)
{
    return name.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
}

如何在字符串中分割空间,然后转换为列表?

如何使用Linq在换行符和空格上分割字符串

string data =
    @"item1 actived
     item2 none
     item special I none
     item special II actived";
var result = data.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
    .Select(item => {
        int lastSpace = item.LastIndexOf(' ');
        return new
        {
            Name = item.Substring(0, lastSpace).Trim(),
            Status = item.Substring(lastSpace, item.Length - lastSpace).Trim()
        }; }).ToList();