我需要从门牌号/单位号中提取号码范围。 例子 - 1B到36B, 1-B至36-B或 B1至B36或 B 1至B 36 结果应该是1到36
前缀或后缀字符或数字可以是任意长度。 ex B150或B1709或150B或 150Block或1709Block
请告诉我如何用Java实现这一目标。
感谢。
答案 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));
}
如果您遇到问题,请告诉我们。快乐的编码!!