在“未定义”变量上拆分字符串

我有一段有多种格式的文本,我想尝试创建一种包含所有格式的方法。我知道我可以在哪里分割这些线,但是,我不确定如何定义它。

文本示例:

.0 index .0.label unicode "Area" .0.value unicode "6WAY DB" .1 index .1.label unicode "SubStation" .1.value unicode "E782DB257" .2 (etc...)

我想将这些行拆分为“.0”、“.1”等,以便我的列表如下所示:

.0 索引
.0.label unicode “区域”
.0.value unicode “6WAY DB”
.1 索引
.1.label unicode “SubStation”

这将使数据更容易操作。但是,由于值根据行而变化,我不能简单地将该值设置为常规字符串。相反,我想说更像是

string Split = "." + n.IsInt();

或者类似的东西。但是,我还找不到任何有效的东西。


胡说叔叔
浏览 141回答 2
2回答

桃花长相依

如果我理解您,您可以使用正则表达式替换执行以下操作var input = ".0 index .0.label unicode \"Area\" .0.value unicode \"6WAY DB\" .1 index .1.label unicode \"SubStation\" .1.value unicode \"E782DB257\" .2 (etc...)";var result = Regex.Replace(input, @"\.\d", $"{Environment.NewLine}$&");Console.WriteLine(result);或实际拆分var lines = result.Split(new[]{Environment.NewLine},StringSplitOptions.None);foreach (var line in lines)   Console.WriteLine(line); 输出.0 index.0.label unicode "Area".0.value unicode "6WAY DB".1 index.1.label unicode "SubStation".1.value unicode "E782DB257".2 (etc...)解释. 匹配任何字符(行终止符除外)\d匹配一个数字(等于[0-9])$& 替换为原始匹配
打开App,查看更多内容
随时随地看视频慕课网APP