在特定字符之前使用所有内容
Use everything before a specific character
所以,我一直在学习 C#,我需要在
":" 字符.
我用 StreamReader 读取文本文件,但是我不能使用 Split 函数,然后我尝试使用 int 函数导入它,但是我又不能使用拆分功能?
我想要这样做的是导入一个文本文件,其编写方式如下;
姓名:姓氏
姓名 2:姓氏 2
因此它只显示姓名和姓名 2。
我一直在搜索这个几天,但我似乎无法弄清楚!
我不知道我做错了什么以及如何在不使用 StreamReader 或其他任何东西的情况下导入文本文件。
编辑:
我正在尝试 post 一些类似的网站;
示例。com/q=(不带“:”的名称)
编辑 2:
StreamReader list = new StreamReader(@"list.txt");
string reader = list.ReadToEnd();
string[] split = reader.Split(":".ToCharArray());
Console.WriteLine(split);
输出为;
System.String[]
我的文件很小,你的 name:lastname 在一行中使用:
var lines = File.ReadAllLines("filaPath");
foreach (var line in lines)
{
var array = line.Split(':');
if (array.Length > 0)
{
var name = array[0];
}
}
如果 name:lastname 不在新行中,请告诉我它是如何分隔的
您遇到了一些问题。首先,使用 File.ReadLines()
而不是 StreamReader
,它更简单和容易:
IEnumerable<string> lines = File.ReadLines("path/to/file");
接下来,您的 lines 变量需要迭代,以便您可以到达集合的每一行:
foreach (string line in lines)
{
//TODO: write split logic here
}
然后你必须在 ':'
字符上拆分每一行:
string[] split = line.Split(":");
你的 split
变量是一个字符串数组(即 string[]
),这意味着你必须访问数组的特定 index 如果你想看看它的价值。这是你的第二个问题,如果你在后台将 split
传递给 Console.WriteLine()
,它只会调用你传递给它的对象上的 .ToString()
,并且使用 string[]
它不会'它不会自动给你所有的值,你必须自己写。
因此,如果您的 line
变量是:"name:Steve"
,拆分变量将有两个索引,如下所示:
//split[0] = "name"
//split[1] = "Steve"
我做了一个fiddlehere来演示。
所以,我一直在学习 C#,我需要在 ":" 字符.
我用 StreamReader 读取文本文件,但是我不能使用 Split 函数,然后我尝试使用 int 函数导入它,但是我又不能使用拆分功能?
我想要这样做的是导入一个文本文件,其编写方式如下;
姓名:姓氏
姓名 2:姓氏 2
因此它只显示姓名和姓名 2。 我一直在搜索这个几天,但我似乎无法弄清楚! 我不知道我做错了什么以及如何在不使用 StreamReader 或其他任何东西的情况下导入文本文件。
编辑:
我正在尝试 post 一些类似的网站;
示例。com/q=(不带“:”的名称)
编辑 2:
StreamReader list = new StreamReader(@"list.txt");
string reader = list.ReadToEnd();
string[] split = reader.Split(":".ToCharArray());
Console.WriteLine(split);
输出为;
System.String[]
我的文件很小,你的 name:lastname 在一行中使用:
var lines = File.ReadAllLines("filaPath");
foreach (var line in lines)
{
var array = line.Split(':');
if (array.Length > 0)
{
var name = array[0];
}
}
如果 name:lastname 不在新行中,请告诉我它是如何分隔的
您遇到了一些问题。首先,使用 File.ReadLines()
而不是 StreamReader
,它更简单和容易:
IEnumerable<string> lines = File.ReadLines("path/to/file");
接下来,您的 lines 变量需要迭代,以便您可以到达集合的每一行:
foreach (string line in lines)
{
//TODO: write split logic here
}
然后你必须在 ':'
字符上拆分每一行:
string[] split = line.Split(":");
你的 split
变量是一个字符串数组(即 string[]
),这意味着你必须访问数组的特定 index 如果你想看看它的价值。这是你的第二个问题,如果你在后台将 split
传递给 Console.WriteLine()
,它只会调用你传递给它的对象上的 .ToString()
,并且使用 string[]
它不会'它不会自动给你所有的值,你必须自己写。
因此,如果您的 line
变量是:"name:Steve"
,拆分变量将有两个索引,如下所示:
//split[0] = "name"
//split[1] = "Steve"
我做了一个fiddlehere来演示。