获取特定子字符串

时间:2014-04-14 18:01:31

标签: c# .net regex

我有一个像这样的字符串

"Macro HarryAnd6767 exist Open Search Panel Star23 else Proceed with DavidAnd6768"

我想要检索"HarryAnd6767""DavidAnd6768""HarryAnd6767""DavidAnd6768"都是动态的,在每次代码执行时都会根据用户输入进行更改。

请帮忙。谢谢。

4 个答案:

答案 0 :(得分:2)

如果单词总是第二个和第11个单词,您可以使用:

var split = inputString.Split(' ');
string first = split[1];
string second = split[10];

请注意,您可能需要进行额外的错误检查(例如:确保提前有足够的单词等)。

答案 1 :(得分:2)

假设您要检索的单词始终出现在字符串中的相同位置(基于0的索引:1,10),您可以这样做:

string[] splitStrings=originalString.Split(' ');
string firstWord=splitStrings[1];
string secondWord=splitStrings[10];

答案 2 :(得分:2)

您可以使用split方法使用分隔符拆分字符串。例如,

String myStr = "Macro HarryAnd6767 exist Open Search Panel Star23 else Proceed with DavidAnd6768"
String[] strTbl = myStr.Split(' ')
String Name1 = strTbl[1]
String Name2 = strTbl[10]

答案 3 :(得分:1)

很难说你想要找到什么,但如果模式相同,你可以通过以下方式使用正则表达式:

string str = "Macro HarryAnd6767 exist Open Search Panel Star23 else Proceed with DavidAnd6768";
string pattern = "Macro (.*) exist Open Search Panel Star23 else Proceed with (.*)";
var match = Regex.Match(str, pattern);
if (match.Success)
{
    string first = match.Groups[1].Value;
    string second = match.Groups[2].Value;
}