2013-02-21 22 views
29

Ben dizede belirli bir kelime "kodu" bulmak zorunda kalan ve dizeden sonra kalan dizeyi almak zorunda C# içinde bir dize sahip değilim kelime "kod".Bir dize bir "word" sonra bir dize almak gerekiyor C#

dize

"Hata açıklaması, kodu: -1" dir

yüzden yukarıdaki dizede kelime kodu bulmak zorunda ve ben almak zorunda hata kodu. Normal ifadeleri gördüm ama şimdi açıkça anlaşıldı. Basit bir yolu var mı?

+1

'code' sözü dizede iki kez görünmelidir ne olurdu? – LukeHennerley

+1

Açıklayabilir misiniz - regex ile ilgili sorun nedir? Ne denediniz ve şu anda hangi kodunuz var? –

+0

@LukeHennerley kodu iki veya daha fazla görünebilir, ancak sonunda, hata kodu tanımı ** kodu olacak: hata kodu ** – Narayan

cevap

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

Böyle bir şey mi? Sen tarafından bölmek dize çimdik

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" 

Belki code : eksik olaya el gerektiğini

... - Eğer "code : " kullanırsanız, döndürülen dizinin ikinci elemanı ([1]) örneğinizi kullanarak "-1" içerecektir. (Tek kelime ise "kod")

+0

Split sadece 'params [] karakterini alır,' params [] dizgesini almaz ':) – LukeHennerley

+3

@LukeHennerley - [Gerçekten?] (Http://msdn.microsoft.com/en-gb/library/system.string.split.aspx) – Oded

+1

Bu derleme olmadığını söylemek istedim: PI standı düzeltilmiş! – LukeHennerley

0

kullanım indexOf() fonksiyon

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

basit bir yol olabilir:

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

@LukeHennerley dizeleri dizisini başlatmak için çok yaygın bir yaklaşımdır – Nogard