C# 将文本文件中的文本获取到数组中
我有一个文本文件,包含以下文本:C# 将文本文件中的文本获取到数组中,c#,C#,我有一个文本文件,包含以下文本: Contact Name | Contact Number Muhammad Hassan Ali Khan| 123456 Danish Abdul Ghani | 165484 Adeel Siddiqui | 865697 Muhammad Faisal Bilal | 569745 Arslan | 1
Contact Name | Contact Number
Muhammad Hassan Ali Khan| 123456
Danish Abdul Ghani | 165484
Adeel Siddiqui | 865697
Muhammad Faisal Bilal | 569745
Arslan | 145236
我想在gridview中显示它,我使用以下代码:检查我从文件中获取文本的工作是否正确
protected void Page_Load(object sender, EventArgs e)
{
string line = "";
StreamReader reader = new StreamReader("c:\\Contacts.txt");
while ((line = reader.ReadLine()) != null)
{
string[] arr = line.Split('\t\t|\t\t');
}
}
但在此行“string[]arr=line.Split('\t\t |\t\t');”发生错误:
Error: Too many characters in character literal
如何删除此错误。请推荐我。等待答复。谢谢试试这个
string[] arr = line.Split(new string[] { "\t\t|\t\t" }, StringSplitOptions.RemoveEmptyEntries);
编辑:”
封装字符,“
用于字符串。试试这个
string[] arr = line.Split(new string[] { "\t\t|\t\t" }, StringSplitOptions.RemoveEmptyEntries);
编辑:
”
封装字符,“
用于字符串。如果需要拆分多个字符,请使用正则表达式:
line.Split(value, "'\t\t|\t\t'");
如果需要拆分多个字符,请使用Regex
:
line.Split(value, "'\t\t|\t\t'");
你可以这样做
string line = "";
StreamReader reader = new StreamReader("c:\\Contacts.txt");
while ((line = reader.ReadLine()) != null)
{
string[] arr = line.Split('|');
arr = arr.Select(x => x.Trim()).ToArray();
}
你可以这样做
string line = "";
StreamReader reader = new StreamReader("c:\\Contacts.txt");
while ((line = reader.ReadLine()) != null)
{
string[] arr = line.Split('|');
arr = arr.Select(x => x.Trim()).ToArray();
}
必须向方法传递一个字符数组。数组中的字符将用作拆分的分隔符
由于方法Split()的签名中有一个关键字params,因此可以省略数组的直接创建,只传递逗号分隔的字符
例如:
string[] arr = line.Split('|');
string[] another = line.Split('|','-',':','!');
值得注意的是,Split()的一个重载版本接受StringSplitOptions枚举
我建议您将其与StringSplitOption.RemoveEmptyEntries选项一起使用。这将防止在结果数组中出现空元素。但是,此版本的方法没有params关键字,因此必须创建数组
var arr = mystring.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
必须向方法传递一个字符数组。数组中的字符将用作拆分的分隔符
由于方法Split()的签名中有一个关键字params,因此可以省略数组的直接创建,只传递逗号分隔的字符
例如:
string[] arr = line.Split('|');
string[] another = line.Split('|','-',':','!');
值得注意的是,Split()的一个重载版本接受StringSplitOptions枚举
我建议您将其与StringSplitOption.RemoveEmptyEntries选项一起使用。这将防止在结果数组中出现空元素。但是,此版本的方法没有params关键字,因此必须创建数组
var arr = mystring.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
Split(“”)中的撇号表示一种类型的
Char`,它只能容纳一个字符。Split(“”)中的撇号表示一种类型的
Char`,ojlovecd:您的代码行正在运行,但它只获取第一行联系人姓名|联系人号码,我想获取上面所有的文本,ojlovecd:您的代码行正在运行,但它只获取第一行联系人姓名|联系人号码,我想获取上面所有的文本,这是唯一一个实际工作正常的答案,因为根据提供的源数据,\t\t\t的原始解决方案无论如何都不正确。这是唯一一个实际工作正常的答案,因为根据提供的源数据\t\t\t的原始解决方案无论如何都不正确。因为String.Split()方法实际上有一个带有关键字“params”的签名,例如String.Split(params char[]分隔符)。因此,您可以省略数组的创建,甚至像mystring.Split(“-”、“:”、“|”)一样调用它;因为String.Split()方法实际上有一个带有关键字“params”的签名,例如String.Split(params char[]分隔符)。因此,您可以省略数组的创建,甚至像mystring.Split(“-”、“:”、“|”)一样调用它;