2014-10-27 62 views
-2

我需要從房屋號碼/單元號碼中提取號碼範圍。 例 - 圖1B〜36B, 1B到36B或 B1至B36或 乙1至B 36 結果應爲1至36房屋號碼拆分aplhanumeric字符串

的前綴或後綴的字符或數字可具有任何長度。 ex B150或B1709或150B或 150Block或1709Block

請讓我知道如何在Java中實現這一點。

謝謝。

+0

當然,它*可以*在Java中實現。 – Celeo 2014-10-27 23:00:57

+0

可能的重複[獲取字符串「600sp」的整數部分的最佳方式?](http://stackoverflow.com/questions/3552756/best-way-to-get-integer-part-of-the-string- 600sp) – MarsAtomic 2014-10-27 23:03:53

回答

0

使用正則表達式來執行此操作。具體看字符類,量詞,組和捕捉。

這裏是鏈接到cheatsheet

爲了讓你在這裏開始是一個「類似」的例子。

String line = "36-B"; 
Pattern pattern = Pattern.compile("(\\d*)(.+)(\\d*)"); 
Matcher matcher = pattern.matcher(line); 

while (matcher.find()) 
{ 
    System.out.println("First captured group: " + matcher.group(1)); 
    System.out.println("Second captured group: " + matcher.group(2)); 
    System.out.println("Thisr captured group: " + matcher.group(3)); 
} 

讓我們知道您是否遇到問題。快樂編碼!

+0

我認爲string.replaceAll(「[^ 0-9]」,「」)適用於我所能想到的所有情況,以捕獲數值。 – user3716891 2014-10-28 02:04:16

+0

這個正則表達式也可以正常工作。 – Chiseled 2014-10-28 02:06:24

+0

如果您滿意,請將答案標記爲已接受。 – Chiseled 2014-10-28 02:07:21