拆分房屋号码的字母数字字符串

时间:2014-10-27 22:58:51

标签: java regex alphanumeric string-split

我需要从门牌号/单位号中提取号码范围。 例子 - 1B到36B, 1-B至36-B或 B1至B36或 B 1至B 36 结果应该是1到36

前缀或后缀字符或数字可以是任意长度。 ex B150或B1709或150B或 150Block或1709Block

请告诉我如何用Java实现这一目标。

感谢。

1 个答案:

答案 0 :(得分: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));
}

如果您遇到问题,请告诉我们。快乐的编码!!