2013-02-21 75 views
29

我在c#中有一个字符串,我必须在字符串中找到一个特定的单词“代码”,并且必须在单词“代码”。需要在c中的字符串中的“字”后得到一个字符串

的字符串是

“错误描述,代码:-1”

,所以我必须要找到这个词在上面的字符串代码,我必须得到错误代码。 我看过正则表达式,但现在已经很清楚。有没有简单的方法?

+1

会发生什么,应该'code'中说串出现两次? – LukeHennerley 2013-02-21 09:28:32

+1

你能澄清 - 正则表达式有什么问题?你有什么尝试,你现在有什么代码? – 2013-02-21 09:32:33

+0

@LukeHennerley代码可能会出现两次或更多,但最后,错误代码定义将是**代码:错误代码** – Narayan 2013-02-21 09:33:26

回答

61
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 
} 
12
var code = myString.Split(new [] {"code"}, StringSplitOptions.None)[1]; 
// code = " : -1" 

你可以调整串由分裂 - 如果你使用"code : ",返回数组的第二件([1])将包含"-1",使用你的例子。

+0

拆分只需要'params [] char',它不需要'params [] string ':) – LukeHennerley 2013-02-21 09:29:34

+3

@LukeHennerley - [真的吗?](http://msdn.microsoft.com/en-gb/library/system.string.split.aspx) – Oded 2013-02-21 09:30:06

+1

我的意思是说这不会编译:PI支架纠正! – LukeHennerley 2013-02-21 09:31:27

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 2013-02-21 09:32:25

相关问题