2013-05-09 23 views
0

我想删除“PO Box 323”的字符串部分。 我只需要选择323保存。怎么做?删除前导字符并从数字开始

注意:数字第一次出现后可以有字符。这不是问题。 通过使用子字符串只能做到这一点。任何想法?

UPDATE:这是最后的解决方案:

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

回答

2

这应该解决您的问题:

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

enter image description here

http://regexpal.com/

+0

不错的工具。但我需要符合“2466 Francisco St#104”类型的字符串。我是一个关于正则表达式的空白。那么你是否也可以为这种类型的弦发生呢? – Sampath 2013-05-09 11:15:36

+0

@Sampath好的,我改变了我的答案。 – Kai 2013-05-09 11:17:39

+0

非常感谢Reg-Ex Master.It的工作。优秀。 – Sampath 2013-05-09 11:50:57

1

\ d +为一个整数的正则表达式。

resultString = Regex.Match(subjectString, @"\d+").Value; 
+0

+1帮助。这也帮助了我。 – Sampath 2013-05-09 12:00:04

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(); 
    } 
相关问题