我需要從房屋號碼/單元號碼中提取號碼範圍。 例 - 圖1B〜36B, 1B到36B或 B1至B36或 乙1至B 36 結果應爲1至36房屋號碼拆分aplhanumeric字符串
的前綴或後綴的字符或數字可具有任何長度。 ex B150或B1709或150B或 150Block或1709Block
請讓我知道如何在Java中實現這一點。
謝謝。
我需要從房屋號碼/單元號碼中提取號碼範圍。 例 - 圖1B〜36B, 1B到36B或 B1至B36或 乙1至B 36 結果應爲1至36房屋號碼拆分aplhanumeric字符串
的前綴或後綴的字符或數字可具有任何長度。 ex B150或B1709或150B或 150Block或1709Block
請讓我知道如何在Java中實現這一點。
謝謝。
使用正則表達式來執行此操作。具體看字符類,量詞,組和捕捉。
這裏是鏈接到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));
}
讓我們知道您是否遇到問題。快樂編碼!
我認爲string.replaceAll(「[^ 0-9]」,「」)適用於我所能想到的所有情況,以捕獲數值。 – user3716891 2014-10-28 02:04:16
這個正則表達式也可以正常工作。 – Chiseled 2014-10-28 02:06:24
如果您滿意,請將答案標記爲已接受。 – Chiseled 2014-10-28 02:07:21
當然,它*可以*在Java中實現。 – Celeo 2014-10-27 23:00:57
可能的重複[獲取字符串「600sp」的整數部分的最佳方式?](http://stackoverflow.com/questions/3552756/best-way-to-get-integer-part-of-the-string- 600sp) – MarsAtomic 2014-10-27 23:03:53