如何使用输入文本文件在C#中搜索和返回字符串值
本文关键字:搜索 返回 字符串 输入 何使用 文本 文件 | 更新日期: 2023-09-27 18:01:03
我有一个以下格式的日志文件:
[BugServices] WX Edit Bug: 4027909 Server: nomos-scanner.corp.adobe.com User:karansha appGUID: wx Elapsed Time: 1204ms method:bug.updateBug Date: Mon Jan 14 09:42:05 IST 2013
[BugServices] WX Edit Bug: 4027909 Server: nomos-scanner.corp.adobe.com User:karansha appGUID: wx Elapsed Time: 1204ms method:bug.updateBug Date: Mon Jan 14 09:42:05 IST 2013
[BugServices] WX Edit Bug: 4027909 Server: nomos-scanner.corp.adobe.com user:vader appGUID: wx Elapsed Time: 1204ms method:bug.updateBug Date: Mon Jan 14 09:42:05 IST 2013
[BugServices] WX Edit Bug: 4027912 Server: nomos-scanner.corp.adobe.com User:gulanand appGUID: wx Elapsed Time: 1204ms method:bug.updateBug Date: Mon Jan 14 09:42:05 IST 2013
我如何使用C#获取所有字符串值,例如User:value?
您可以使用类似以下的正则表达式@"User:(?.*?(appGUID"您将获得用户名列表+您可以向regexp添加另一个值为的组。以下示例:
StreamReader reader = new StreamReader("sample.txt");
string x = reader.ReadToEnd();
List<string> users = new List<string>();
int numberOfUsers;
Regex regex = new Regex(@"(U|u)ser:(?<username>.*?) appGUID");
MatchCollection matches = regex.Matches(x);
foreach (Match match in matches)
{
string user = match.Groups["username"].ToString().Trim();
if (!users.Contains(user)) users.Add(user);
}
numberOfUsers = users.Count;
您可以迭代文件中的每一行,然后将正则表达式应用于该行以过滤内容。
这里有一个简单的例子:如何:使用正则表达式搜索字符串(C#编程指南(
我最近通过TekPub看了一段视频,Jon Skeet在视频中做了这件事,我相信这是正则表达式视频TekPubMastering C#
我用来测试正则表达式的一个站点是Rubular