我想删除“ PO Box 323 ”类字符串的前导字符串部分。我只需要选择 323 进行保存。怎么做?
注意:第一次出现数字后可以有字符。这不是问题。仅使用子字符串不能做到这一点。知道吗?
更新:这是最终解决方案:
provider.Address.Street = Regex.Match(update.Address.Street, @"\d+.[a-zA-Z\ \d\#]*").Value;
\d+ 是整数的正则表达式。
resultString = Regex.Match(subjectString, @"\d+").Value;
我使用以下内容,但根据您的输入,@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();
}