【发布时间】:2021-05-09 15:39:49
【问题描述】:
我能否仅使用 linq 获得包含 CRLF 或 LF 或 CR 的字符串数组?
我不想使用循环。
我有一个这样的字符串"Hello \r\n Stackverflow\n How are you doing \r",我必须把它转换成这样
mystring[0] = "Hello \r\n"
mystring[1] = "Stackverflow\n"
mystring[2] = "How are you doing \r"
有什么想法吗?
【问题讨论】:
-
Regex.Split在这里可能是最简单的——string.Split将删除换行符 -
@canton7 请教我怎么做
-
“我不想要”通常是做某事的一个非常糟糕的理由。除了这个 LINQ 是在引擎盖下循环。
-
@HimBromBeere 但在聚合中使用不可变数据进行此类操作通常很有趣......(需要记住“\r\n”与“\r”区别的前一个字符肯定调用有趣的代码)。
-
Regex.Split(s, @"(?<=\r\n)|(?<=\n)|(?<=\r)")almost gets you there,但由于我不明白的原因,它将\r\n分成两行