現在のメッセージにはスペースだけで区切られた整数があるので、これらのスペースを別々の整数に連結する方法が必要です。例:連結し連続した整数
message1 = "My no is 9543 21 00 10"
desired output = "My no is010"
message2 = "You can reach 2 me at 42315 468"
desired output = "You can reach 2 me at 42315468"
私の主な問題は、電話番号は、誰かがこれを解決するために異なるアプローチを持っている場合、私に知らせてくださいので、一緒にスペースで区切られた電話番号を連結するIE用上記の問題を解決することです。
私は、次のコードを試してみましたが、文字列がスペースで終了したときにそれは動作しません:
if(message.matches(".*\\d.*")){
for (int i = 0; i <= message.length() -2 ; ++i){
if ((Character.isDigit(message.charAt(i))) && message.charAt(i+1) == ' ' && (Character.isDigit(message.charAt(i+2)))) {
StringBuilder sb = new StringBuilder(message);
sb.deleteCharAt(i+1);
message = sb.toString();
}
}
}
つまり、数字で囲まれた空白を削除しようとしています。 'message = message.replaceAll("(?<= \\ d)\\ s +(?= \\ d) "、" ");' – Pshemo
@Pshemoこれは答えとして投稿する必要があります。 –
@TimB私は、問題の説明に基づいて、提供された例が単純すぎて答えの代わりにコメントを投稿したと考えています(誰かが必要なものをすべて提供していないため、情報)。私はOPがこの解決策がうまくいかないいくつかの実際の事例に対応することを望んでいました。そして、本当の答えを考え始めることができます。しかし、私が間違っていたと期待してください:) – Pshemo