我想删除“PO Box 323”的字符串部分。 我只需要选择323保存。怎么做?删除前导字符并从数字开始
注意:数字第一次出现后可以有字符。这不是问题。 通过使用子字符串只能做到这一点。任何想法?
UPDATE:这是最后的解决方案:
provider.Address.Street = Regex.Match(update.Address.Street, @"\d+.[a-zA-Z\ \d\#]*").Value;
我想删除“PO Box 323”的字符串部分。 我只需要选择323保存。怎么做?删除前导字符并从数字开始
注意:数字第一次出现后可以有字符。这不是问题。 通过使用子字符串只能做到这一点。任何想法?
UPDATE:这是最后的解决方案:
provider.Address.Street = Regex.Match(update.Address.Street, @"\d+.[a-zA-Z\ \d\#]*").Value;
\ d +为一个整数的正则表达式。
resultString = Regex.Match(subjectString, @"\d+").Value;
+1帮助。这也帮助了我。 – Sampath 2013-05-09 12:00:04
我用下面,测试虽然@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();
}
不错的工具。但我需要符合“2466 Francisco St#104”类型的字符串。我是一个关于正则表达式的空白。那么你是否也可以为这种类型的弦发生呢? – Sampath 2013-05-09 11:15:36
@Sampath好的,我改变了我的答案。 – Kai 2013-05-09 11:17:39
非常感谢Reg-Ex Master.It的工作。优秀。 – Sampath 2013-05-09 11:50:57