我有以下类型的字符串
/asdfd-dfsdf-sadfdfsdf-safdsfok-785452145x/dshfkjsd-sdfsd-sdfsdfsn-sfsdfe-jsdfdss/9?sdf=sdfsdf32d-0sdf8d-49sfe-asdf7-4fsfs32dd73880
其中我只想提取785452145x
最好的方法是什么?我使用C#2.0
答案 0 :(得分:1)
// setup the input data
string inputString = "/asdfd...";
// pull out string from beginning to second slash
// firstPart = "/asdfd...fok-785452145x/"
string firstPart = inputString.Substring(0, inputString.IndexOf("/", 1));
// grab last data element after the last hyphen
// lastElement = "785452145x";
string lastElement = firstPart.Substring(firstPart.LastIndexOf("-") + 1);
// do something with lastElement...
答案 1 :(得分:0)
如果您尝试匹配字符串中的该字符系列,则此正则表达式会将其放在第一个匹配组中。
/[a-z]+-[a-z]+-[a-z]+-[a-z]+-([0-9a-z]+).*
如果您尝试匹配该字符串,则不需要正则表达式。
答案 2 :(得分:0)
由于您需要特定的字符串,因此不需要正则表达式。如果您只是想知道大字符串是否包含您要查找的字符串,请尝试
inputString.Contains("785452145x");
这会给你一个bool,表明是否找到了字符串。
答案 3 :(得分:0)
你要求正则表达式......
string answer = Regex.Match(input, @"^/.+-(.+)/.+").Groups[1].Value;