0

我想删除“ PO Box 323 ”类字符串的前导字符串部分。我只需要选择 323 进行保存。怎么做?

注意:第一次出现数字后可以有字符。这不是问题。仅使用子字符串不能做到这一点。知道吗?

更新:这是最终解决方案:

provider.Address.Street = Regex.Match(update.Address.Street, @"\d+.[a-zA-Z\ \d\#]*").Value;
4

3 回答 3

2

这应该可以解决您的问题:

\d+.[a-zA-Z\ \d\#]*

在此处输入图像描述

http://regexpal.com/测试过

于 2013-05-09T11:00:33.553 回答
1

\d+ 是整数的正则表达式。

resultString = Regex.Match(subjectString, @"\d+").Value;
于 2013-05-09T10:52:30.593 回答
0

我使用以下内容,但根据您的输入,@Anuj 的 \d 可能是更好的匹配。

  /// <summary>
  /// Get numbers from a string
  /// </summary>
  /// <param name="item">input string</param>
  /// <returns>only the number in that string</returns>
    public string ExtractNumbersFromString(string item)
    {
        if (String.IsNullOrWhiteSpace(item))
            return item;

        return Regex.Replace(item, "[A-Z ]", "", RegexOptions.IgnoreCase).ToString();
    }
于 2013-05-09T11:03:22.920 回答