代码之家  ›  专栏  ›  技术社区  ›  TruMan1

如何通过regex检查和提取字符串?

  •  2
  • TruMan1  · 技术社区  · 14 年前

    我试图检查一个字符串是否以“@某物”结尾,如果以“@某物”结尾,则从中提取“某物”。例如,我正在尝试这样做:

    string temp = "//something//img/@src"
    if (temp ends with @xxx)
    {
       string extracted = (get "src");
       ...
    }
    else
    {
       ...
    }
    

    我怎样才能做到这一点?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Timwi    14 年前

    string temp = "//something//img/@src";
    var match = Regex.Match(tmp, @"/@([\w]+)$", RegexOptions.RightToLeft);
    if (match.Success)
    {
       string extracted = match.Groups[1].Value;
       ...
    }
    else
    {
       ...
    }
    
        2
  •  1
  •   Timwi    14 年前

    string temp = "//something//img/@src"
    int pos = temp.LastIndexOf('@');
    if (pos != -1)
    {
       string extracted = temp.Substring(pos+1);
       ...
    }
    else
    {
       ...
    }
    
        3
  •  0
  •   JaredPar    14 年前

    var match = Regex.Match(tmp, @".*@(.*)$");
    if ( match.Success ) { 
      var extracted = match.Groups[1].Value;
      ...
    

    () Groups