C# 如何删除字符后的文本?
我有一个数组,它以user:pass的形式保存用户和密码,我喜欢删除pass小于8个字符的行,或者密码使用重复的字符,比如111111222222 我尝试了string.take,但它完全需要行,我需要条件删除C# 如何删除字符后的文本?,c#,text,foreach,C#,Text,Foreach,我有一个数组,它以user:pass的形式保存用户和密码,我喜欢删除pass小于8个字符的行,或者密码使用重复的字符,比如111111222222 我尝试了string.take,但它完全需要行,我需要条件删除 public string[] lines; //open file dialogue to load the user pass file lines = File.ReadAllLines(openFileDialog1.FileName); //delete button c
public string[] lines;
//open file dialogue to load the user pass file
lines = File.ReadAllLines(openFileDialog1.FileName);
//delete button click event
//the place that I have problem
我有email:pass组合,如下所示:
电子邮件1:1234567895121
电子邮件2:12345
电邮4:11111
电子邮件5“4545
string[] lines =
{
"email1:1234567895121",
"email2:12345",
"email3:22222222222",
"email4:11111",
"email5:454545454545"
};
lines = lines
.Where(s =>
{
string pass = s.Split(new[] { ':' }, 2)[1];
return pass.Length >= 8 && pass.Any(c => c != pass[0]);
})
.ToArray();
foreach (var s in lines)
Console.WriteLine(s);
我希望输出像这样
电子邮件1:1234567895121
电子邮件5“4545
string[] lines =
{
"email1:1234567895121",
"email2:12345",
"email3:22222222222",
"email4:11111",
"email5:454545454545"
};
lines = lines
.Where(s =>
{
string pass = s.Split(new[] { ':' }, 2)[1];
return pass.Length >= 8 && pass.Any(c => c != pass[0]);
})
.ToArray();
foreach (var s in lines)
Console.WriteLine(s);
输出:
电子邮件1:1234567895121电子邮件5:4545
string[] lines =
{
"email1:1234567895121",
"email2:12345",
"email3:22222222222",
"email4:11111",
"email5:454545454545"
};
lines = lines
.Where(s =>
{
string pass = s.Split(new[] { ':' }, 2)[1];
return pass.Length >= 8 && pass.Any(c => c != pass[0]);
})
.ToArray();
foreach (var s in lines)
Console.WriteLine(s);
只需循环每行的字符,查看当前值是否等于前一行:
public string[] lines = File.ReadAllLines(openFileDialog1.FileName);
var filteredLines = new List<string>(lines);
foreach(var line in lines)
{
var pair = line.Split(':');
var mail = pair[0];
var pass = pair[1]; // may throw exception on invalid format of your line
for(int i = 1; i < pass.Length; i++)
{
if(pass[i] == pass[i - 1])
{
filteredLines.Remove(line);
break; // will break inner loop and continue on next line
}
}
}
public string[]lines=File.ReadAllLines(openFileDialog1.FileName);
var filteredLines=新列表(行);
foreach(行中的var行)
{
var pair=line.Split(“:”);
var-mail=pair[0];
var pass=pair[1];//可能会对行的无效格式引发异常
for(int i=1;i
密码可以包含空格字符吗?密码只是数字吗?只需在每行搜索“11”、“22”、“33”。。。"99". 如果在一行中找到任何一条直线,请从数组中删除该直线。@mj将视情况而定,但大多数情况下不会t@HimBromBeere不,它也有字符