需要在c#中的字符串中的"单词"后面获取一个字符串

Nar*_*yan 41 c# string substring

我在c#中有一个字符串,我必须在字符串中找到一个特定的单词"code",并且必须在单词"code"之后得到剩余的字符串.

字符串是

"错误描述,代码:-1"

所以我必须在上面的字符串中找到单词代码,我必须得到错误代码.我见过正则表达式,但现在已经清楚地理解了.有什么简单的方法吗?

xan*_*tos 87

string toBeSearched = "code : ";
string code = myString.Substring(myString.IndexOf(toBeSearched) + toBeSearched.Length);
Run Code Online (Sandbox Code Playgroud)

像这样的东西?

也许你应该处理失踪的情况code :......

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

if (ix != -1) 
{
    string code = myString.Substring(ix + toBeSearched.Length);
    // do something here
}
Run Code Online (Sandbox Code Playgroud)


Ode*_*ded 16

var code = myString.Split(new [] {"code"}, StringSplitOptions.None)[1];
// code = " : -1"
Run Code Online (Sandbox Code Playgroud)

您可以调整要拆分的字符串 - 如果使用"code : ",则使用您的示例,返回的数组([1])的第二个成员将包含"-1".

  • @LukeHennerley - [真的吗?](http://msdn.microsoft.com/en-gb/library/system.string.split.aspx) (3认同)

Nog*_*ard 11

更简单的方法(如果您的唯一关键字是"代码")可能是:

string ErrorCode = yourString.Split(new string[]{"code"}, StringSplitOptions.None).Last();
Run Code Online (Sandbox Code Playgroud)


hos*_*ian 11

将此代码添加到您的项目中

  public static class Extension {
        public static string TextAfter(this string value ,string search) {
            return  value.Substring(value.IndexOf(search) + search.Length);
        }
  }
Run Code Online (Sandbox Code Playgroud)

然后使用

"code : string text ".TextAfter(":")
Run Code Online (Sandbox Code Playgroud)