如何使用C#提取字符串

时间:2012-12-17 15:10:11

标签: c# text-extraction

我需要从下面给出的文本中提取密码值,该值以粗体显示(Password10)。我使用的是c#编程语言。

  

FName Lname,您的系统密码已更改。如果您没有更改或不知道更改原因,请立即联系管理员。您的新密码为密码10

     

如果您有任何疑问,请联系:

     

解决方案计划办公室   电话:   电子邮件:notifications@cho.com

     

感谢您使用xxxxx

4 个答案:

答案 0 :(得分:2)

好吧,如果您确定将会以文本形式呈现的形式。总是。然后你可以简单地做一些事情:

string text = //load your text here;
int startingIndex = text.IndexOf("Your new password is ") + "Your new password is ".Length;
string newText = text.SubString(startingIndex, text.length); //this will load all your text after the password.
//then load the first word
string password = newText.Split(' ')[0];

答案 1 :(得分:0)

您也可以考虑使用RegEx(正则表达式)。

答案 2 :(得分:0)

您可以使用string.Substring

int indexOfPasswordText = text.IndexOf("Your new password is ");
if (indexOfPasswordText != -1)
{
    int passwordStart = indexOfPasswordText + "Your new password is ".Length;
    int indexeOfNextWord = text.IndexOfAny(new[] { '\n', '\r', ' ' }, passwordStart);
    if (indexeOfNextWord == -1) indexeOfNextWord = text.Length;
    string passWord = text.Substring(passwordStart, indexeOfNextWord - passwordStart);
    Console.Write(passWord);
}

Demo

答案 3 :(得分:0)

我没有对此进行测试,但可能会让你朝着正确的方向前进。

string input = [YOUR MAIL];
string regex = @"Your new password is (\w+)";
Match m = Regex.Match(input, regex);
if (m.Success) {
    string password= m.Groups[1].Value;
    //do something
}