我希望我的程序丢弃“appGUID”值为“wx”或“null”的所有行
如何使用正则表达式实现这一点。在此之后,它应该返回“WX Edit Bug”的唯一值。我试过了,但看起来我的代码中有一些错误。
我无法弄清楚它的正则表达式模式。请帮忙。
我的日志文件格式为:
INFO [com.adobe.watson.vo.BugServices] WX 编辑错误:3494430 服务器:yukon.corp.adobe.com 用户:xinche appGUID:null INFO [com.adobe.watson.vo.BugServices] WX 编辑错误:3494430 服务器: yukon.corp.adobe.com 用户:xinche appGUID: null INFO [com.adobe.watson.vo.BugServices] WX 编辑错误: 3419432 服务器: yukon.corp.adobe.com 用户:prerelease appGUID: fcdd2153-bbdf INFO [ com.adobe.watson.vo.BugServices] WX 编辑错误:3419432 服务器:yukon.corp.adobe.com 用户:prerelease appGUID:fcdd2153-bbdf INFO [com.adobe.watson.vo.BugServices] WX 编辑错误:3494430 服务器: yukon.corp.adobe.com 用户:xinche appGUID: wx INFO [com.adobe.watson.vo.BugServices] WX 编辑错误: 3494430 服务器: yukon.corp.adobe.com 用户:xinche appGUID: wx INFO [com. adobe.watson.vo.BugServices] WX 编辑错误:3494430 服务器:yukon.corp.adobe.com 用户:xinche appGUID:null INFO [com.adobe.watson.vo.BugServices] WX 编辑错误:3494430 服务器:yukon.corp.adobe.com 用户:xinche appGUID:null INFO [com.adobe.watson.vo.BugServices] WX 编辑错误:3419432服务器:yukon.corp.adobe.com 用户:prerelease appGUID:fcdd2153-bbdf INFO [com.adobe.watson.vo.BugServices] WX 编辑错误:3419432 服务器:yukon.corp.adobe.com 用户:prerelease appGUID:fcdd2153- bbdf
我的代码在这里:
IEnumerable<string> textLines
= Directory.GetFiles(@"C:\Users\karansha\Desktop\Dummy\", "*.*")
.Select(filePath => File.ReadLines(filePath))
.SelectMany(line => line);
string x = string.Join(",", textLines);
Regex regex = new Regex(@"(.*)?(wx|null)\b");
var newString = regex.Replace(x, String.Empty);
string discard = string.Join(",", newString);
List<string> users = new List<string>();
Regex regex1 = new Regex(@"WX Edit Bug:\s*(?<value>.*?)\s+Server");
MatchCollection matches1 = regex1.Matches(discard);
foreach (Match match in matches1)
{
var Editbug = match.Groups["value"].Value;
if (!users.Contains(Editbug)) users.Add(Editbug);
}
int WX_Edit = users.Count;