0

我正在尝试为使用 Java 开发的第 3 方创建一个示例(我使用 C#),但这并没有按预期工作。我的机器上没有任何 Java IDE,所以我使用 Ideone.com 对其进行测试。

要求是将邮政编码的第一个字母部分(可以以 1 或 2 个字母字符开头)用于单独的查找。

因此,鉴于MK34 8FD我会期望MK并鉴于S4 8BF我会期望S

String source = "MK34 8FD";
String working = source.substring(0, 2);
String postcode = "";

for (int i = 0; i < 2; i++) {
    String piece = working.substring(i, 1);
    if (piece.matches("[a-zA-Z]")) {
        postcode += piece;
    }
}

使用上面的代码,postcode总是出现,M我不知道为什么?

4

2 回答 2

2

第二个参数substring()是结束索引,而不是长度。

因此

String piece = working.substring(i, 1);

需要改为

String piece = working.substring(i, i + 1);
于 2013-01-04T13:27:38.367 回答
0
String source = "MK34 8FD";
String postCode = "";
for(int i = 0; i < 2; i++){
    char currentChar = source.charAt(i);
    if(Character.isLetter(currentChar))
        postCode += currentChar;
}
于 2013-01-04T13:32:17.133 回答