我在c#中有一個字符串,我必須在字符串中找到一個特定的單詞「代碼」,並且必須在單詞「代碼」。需要在c中的字符串中的「字」後得到一個字符串
的字符串是
「錯誤描述,代碼:-1」
,所以我必須要找到這個詞在上面的字符串代碼,我必須得到錯誤代碼。 我看過正則表達式,但現在已經很清楚。有沒有簡單的方法?
我在c#中有一個字符串,我必須在字符串中找到一個特定的單詞「代碼」,並且必須在單詞「代碼」。需要在c中的字符串中的「字」後得到一個字符串
的字符串是
「錯誤描述,代碼:-1」
,所以我必須要找到這個詞在上面的字符串代碼,我必須得到錯誤代碼。 我看過正則表達式,但現在已經很清楚。有沒有簡單的方法?
string toBeSearched = "code : ";
string code = myString.Substring(myString.IndexOf(toBeSearched) + toBeSearched.Length);
是這樣的嗎?
也許你應該處理缺少code :
的情況下...
string toBeSearched = "code : ";
int ix = myString.IndexOf(toBeSearched);
if (ix != -1)
{
string code = myString.Substring(ix + toBeSearched.Length);
// do something here
}
var code = myString.Split(new [] {"code"}, StringSplitOptions.None)[1];
// code = " : -1"
你可以調整串由分裂 - 如果你使用"code : "
,返回數組的第二件([1]
)將包含"-1"
,使用你的例子。
拆分只需要'params [] char',它不需要'params [] string ':) – LukeHennerley 2013-02-21 09:29:34
@LukeHennerley - [真的嗎?](http://msdn.microsoft.com/en-gb/library/system.string.split.aspx) – Oded 2013-02-21 09:30:06
我的意思是說這不會編譯:PI支架糾正! – LukeHennerley 2013-02-21 09:31:27
使用indexOf()
功能
string s = "Error description, code : -1";
int index = s.indexOf("code");
if(index != -1)
{
//DO YOUR LOGIC
string errorCode = s.Substring(index+4);
}
更簡單的方法(如果你唯一的關鍵字是 「代碼」)可能是:
string ErrorCode = yourString.Split(new string[]{"code"}, StringSplitOptions.None).Last();
@LukeHennerley它是初始化字符串數組很常見的方法 – Nogard 2013-02-21 09:32:25
會發生什麼,應該'code'中說串出現兩次? – LukeHennerley 2013-02-21 09:28:32
你能澄清 - 正則表達式有什麼問題?你有什麼嘗試,你現在有什麼代碼? – 2013-02-21 09:32:33
@LukeHennerley代碼可能會出現兩次或更多,但最後,錯誤代碼定義將是**代碼:錯誤代碼** – Narayan 2013-02-21 09:33:26