2013-02-21 16 views
29

文字列中に特定の単語 "コード"を見つけなければならないC#の文字列があります。単語 "コード"。文字列内の "単語"の後に文字列を取得する必要があります。#

文字列が

「エラーの説明、コード:-1」である

ので、私は、上記の文字列に単語コードを見つけなければならないと私は取得する必要がありますエラーコード。 私は正規表現を見てきましたが、現在ははっきりと理解しています。簡単な方法はありますか?

+1

'code'が言った文字列に二回表示されます何が起こるのでしょうか? – LukeHennerley

+1

正規表現の問題点を明確にすることはできますか?あなたは何を試しましたか、どのコードを現在持っていますか? –

+0

@LukeHennerleyコードは2回以上出現するかもしれませんが、最後にエラーコードの定義は** code:エラーコード** – Narayan

答えて

61
string toBeSearched = "code : "; 
string code = myString.Substring(myString.IndexOf(toBeSearched) + toBeSearched.Length); 

何かこれは何ですか?あなたがで分割した文字列を微調整することができます

string toBeSearched = "code : "; 
int ix = myString.IndexOf(toBeSearched); 

if (ix != -1) 
{ 
    string code = myString.Substring(ix + toBeSearched.Length); 
    // do something here 
} 
12
var code = myString.Split(new [] {"code"}, StringSplitOptions.None)[1]; 
// code = " : -1" 

おそらく、あなたはcode :を見逃すケースを処理する必要があります

... - あなたは"code : "使用している場合、返される配列の第二の部材([1])あなたの例を使用して"-1"が含まれます。 (あなただけのキーワードがある場合は、 "コード")

+0

ですSplitは 'params [] char'をとります、' params [] string ':) – LukeHennerley

+3

@LukeHennerley - [Really?] – Oded

+1

私はこれがコンパイルされないと言っていました:PI stand修正されました! – LukeHennerley

0

使用indexOf()機能

string s = "Error description, code : -1"; 
int index = s.indexOf("code"); 
if(index != -1) 
{ 
    //DO YOUR LOGIC 
    string errorCode = s.Substring(index+4); 
} 
7

簡単な方法は次のようになります。

string ErrorCode = yourString.Split(new string[]{"code"}, StringSplitOptions.None).Last(); 
+0

@LukeHennerleyこれは、文字列の配列を初期化する非常に一般的なアプローチです – Nogard

関連する問題