2012-12-17 61 views
-6

我需要從下面給出的文本中提取粗體(Password10)的密碼值。我正在使用C#編程語言。如何使用C提取字符串#

FName Lname,您的系統密碼已更改。如果您沒有更改或不知道爲什麼它被改變,你應該與管理員聯繫immediately.Your新密碼Password10

如果您有任何疑問,請聯繫:

解決方案計劃辦公室 電話: 電子郵件:[email protected]

感謝您使用XXXXX

+13

有人粘貼此鏈接前些天我認爲這是容易爲這種特殊的情況:http://www.whathaveyoutried.com – Charleh

+1

閱讀整個事情作爲一個字符串,切斷部分,其中「如果你有..「開始到最後。從「密碼是」結尾的子字符串(應始終是相同的起始索引)到新字符串的末尾。 – turbo

+0

是文字串嗎? 'string j = mystring.Remove(0,mystring.LastIndexOf(「」));' 編輯,在代碼大綱之前發佈此代碼,刪除仍然會以此方式工作 – Sayse

回答

2

好吧,如果你肯定知道,這將是在WHI形式將顯示文本。總是。然後,您可以簡單地執行如下操作:

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]; 
+0

密碼爲**粗體**,後面跟着魔術字符序列 –

+0

它後面跟着一個空格:) – dutzu

0

您也可以考慮使用RegEx(正則表達式)。

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

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 
} 
+0

謝謝它適合我 – TestingSpices

相關問題