将读取流读取到特定字符
本文关键字:读取 字符 | 更新日期: 2023-09-27 18:36:17
我需要读取包含以下内容的txt文件123123;192.168.1.1;321321;192.168.2.1;我想将文本读取为特定字符,例如";"并将其分配给变量并标记或在代码中使用它
经过长时间的搜索...
第一种方式
StreamReader office_list = new StreamReader(@"c:'office_list.txt");
var x = office_list.ToString();
var y = Regex.Match(x, @"'b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'b");
Current_Office.Text = y.Value;
但这什么也没返回..和我发现的第二种方式
string [] cur_office = Regex.Split(office_list.ToString(), ";");
foreach(string x in cur_office)
{
Current_Office.Text = x;
}
但这返回了System.IO.StreamReader...第三种方式如下
Current_Office.Text = Regex.Match(office_list.ToString(), @"'b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'b");
错误是错误 1 无法将类型"System.Text.RegularExpressions.Match"隐式转换为"字符串" C:''Users''user''documents''visual Studio 2012''Projects''WindowsFormsApplication1''WindowsFormsApplication1''Form1.cs 23 35 WindowsFormsApplication1
任何人都可以建议一些东西或指出我捕获包含上述 1000 个示例的 ips 表单文本文件的最佳方法吗?
我认为你的第一行是错误的。
var x = office_list.ToString();
office_list类型是流阅读器吗?
尝试
var x = office_list.ReadLine();
string [] cur_office = Regex.Split(x, ";");
foreach(string x in cur_office)
{
Current_Office.Text = x;
}
您可以通过以下方式获取所有 IP 地址的列表:
using (var stream = new StreamReader(@"your path here"))
{
var ipAddresses = stream
.ReadToEnd()
.Split(';')
.Select(ip => ip.Trim()); // not sure if this one is needed, you can try without
foreach (var ip in ipAddresses)
{
// do what you will with the ips
}
}