str = "a bc def g hi";
のようなString変数があったとして、半角スペースで区切られた文字列を"a"と"bc"と"def"と"g"と"hi"のように抽出したいです。
program
1 String regex_a = "^((.+?)( $))"; // 後ろに半角スペースがある最初の文字列 2 String regex_b = "((^ )(.+?))$"; // 頭に半角スペースがある最後の文字列 3 Pattern p_a = Pattern.compile(regex_a); 4 Pattern p_b = Pattern.compile(regex_b); 5 Matcher m_a = p_a.matcher(str); 6 Matcher m_b = p_a.matcher(str); 7 8 while(m_a.find()){ 9 System.out.println("a : " + m_a.group(1)); 10 } 11 // 文字列の最後には半角スペースがないので頭が半角スペースの最後の文字列を探す 12 if(m_b.find()){ 13 System.out.println("b : " + m_b.group(1)); 14 }else{ 15 System.out.println("strに半角スペースが一つもない"); 16 }
プログラムは一応雰囲気こんな感じにしてますが、else文にしか行きつきません。
半角スペースはそのまま文字として使えるらしいですが、ファイルから取り込んだ文字列の半角スペースとプラグラムに直接打ち込んだ半角スペースとでは実際違ったりするのでしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/23 09:53
2020/01/23 10:38
2020/01/23 11:37 編集