c# - 在 C# 中通过回车符 (CR) 拆分字符串的常量

标签 c# string tokenize

我正在尝试将一个字符串拆分为两个数组。

第一个数组在字符串的开头有数据,由\t(制表符)字符分割,其余部分在第一个换行符(\n).

我试过了,认为这就是我想要的:

string[] pqRecords = pqRequests.ToString().Split('\n');

我也试过这个:

internal static readonly string segment = Environment.NewLine + "\t";
string[] pqRecords = pqRequests.ToString().Split(segment);

不幸的是,Split 方法只会接受一个字符。

我知道我的 pqRequests 字符串变量中有 vbcr,因为当我将鼠标悬停在它上面并查看文本可视化时,第一行带有制表符,其他所有内容都在它自己的行上。

此数据取自一个 txt 文件,在该文件中,当在 Notepad++ 中打开时,我可以看到 CR 字符。

我应该为这些 CR 字符使用 c# 中的替代常量吗?

最佳答案

string.Split will happily accept多个分隔符。您只需将它们作为数组传入即可:

internal static readonly string segment = Environment.NewLine + "\t";
string[] pqRecords = pqRequests.ToString().Split(segment.ToArray());

当然你可以(并且应该)写得更清楚

internal static readonly char[] separators = new[] { '\n', '\t' };
string[] pqRecords = pqRequests.ToString().Split(separators);

关于c# - 在 C# 中通过回车符 (CR) 拆分字符串的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20123729/

相关文章:

c - 未找到 string.h 文件

c - 链接列表不适用于 strtok

elasticsearch - 查询elasticsearch以使所有分析的ngram token 都匹配

c# - 使用 OLEDB 和 C# 读取 excel 的所有行时出现问题

c++ - 将字符串数值运算转换为实际的整数运算

字符串中的R变量

python - 是否可以更改 Spacy 标记器的标记拆分规则?

c# - ViewDidAppear() 和 ViewWillAppear() 仅在启动时调用

c# - 反向代理背后的 WebService

c# - 如何在代码隐藏中操作我的 Site.Master 文件中的文本