1

次のような文字列を分割したい:

Johannesburg General Hospital011 488 4911

ただし、一部の文字列には次のように間にスペースがあります。

Johannesburg General Hospital 011 488 4911

次のような2つの異なる配列にしたい:

ヨハネスブルグ総合病院

011 488 4911

スペースがない場合、どのように分割しますか?

4

2 に答える 2

1

これに対して正規表現を作成することもできますが、forサイクルでも同じように機能します。

/**
* @return the rest of the input text from the first digit
*/
public String findPhone(String text) {
    for (int i = 0; i < text.length(); ++i) {
        if (Character.isDigit(text.charAt(i))) {
            return text.substring(i);
        }
    }
    return "";
}

そして、次のように呼び出すことができます:

String number = findPhone("Johannesburg General Hospital011 488 4911")
// number is 011 488 4911 here
String sanitizedNumber = number.replace(" ", ""); // number without spaces
于 2013-08-16T09:44:41.690 に答える
0

正規表現でグループを使用できます。これはあなたの表現かもしれません。

 Pattern p = Pattern.compile("([^\\d]*) ([\\d ]*)");
       //  get a matcher object
       Matcher m = p.matcher("Johannesburg General Hospital 011 488 4911 Johannesburg General Hospital 011 488 4911");
       int count = 0;
       while(m.find()) {
           count++;
           System.out.println(m.group(1));
           System.out.println(m.group(2));
      }
   }

ありがとう

于 2013-08-16T08:33:34.553 に答える