
No.4
- 回答日時:
正規表現を用いる場合は、「いずれかの1文字」に関する使い方があるので、それを使用することとなります。
ただ、今回の場合は、指定する時に「"」(ダブルクォーテーション)を使用するはずなので、その直前で「エスケープ」しないといけない所がポイントです。正規表現を用いない場合は、必然的に「データ構造とアルゴリズム」の知識を総動員していくこととなります。ちなみに、私の方では遊び半分でいろいろと打っていたら、以下のようになりました。(java version "1.5.0_17")
String str="a b c d e f";
//まずは、半角スペースで区切る
String[] no_Hankaku=str.split(" ",0);
ArrayList<String> list = new ArrayList<String>();
Label:for(int i=0;i<no_Hankaku.length;i++){
// 全角スペース有無のチェック
for(int j=0;j<no_Hankaku[i].length();j++){
Character chr = no_Hankaku[i].charAt(j);
if(chr.toString().equals(" ")){
//そして、今度は全角スペースで区切る
String[] no_Zenkaku=no_Hankaku[i].split(" ",0);
for(int k=0;k<no_Zenkaku.length;k++){
list.add(no_Zenkaku[k]);
}
continue Label;
}
}
list.add(no_Hankaku[i]);
}
System.out.println("独自アルゴリズム");
for(String s : list){
System.out.println("「" + s + "」");
}
とまあ、ここまで書いといて何ですが、本来「全角スペース」と「半角スペース」に分けて処理を行うっていうのはまず無いはずですし、#2さんのおっしゃるようにどちらか一方にまとめるのが一番スマートだとは思いますけども。(ということで、上記のコードも決して真似をせず、あくまで参考程度ということで。)
回答ありがとうございます。
無事解決することができました。
choconamacreamさんの回答も
今後の参考にさせていただきます。
ありがとうございました。
No.1
- 回答日時:
少し面倒ですが、こうしたらどうでしょう?
public class Split{
public static void main(String[] args){
//半角スペースを"半",全角スペースを"全"とする
//a半b半c半2d全e全2f
String str="a b c d e f";
//まずは、半角スペースで区切る
String[] word=str.split(" ",0);
//ここでstrを初期化
str="";
//strをwordの配列の中身を全て連結したものにする
//str=abcd全e全2f
for(int i=0;i<word.length;i++){
str=str.concat(word[i]);
}
//そして、今度は全角スペースで区切る
word=str.split(" ",0);
//結果,str=abcdefになる
for(int i=0;i<word.length;i++){
System.out.print(word[i]);
}
}
}
回答ありがとうございます。
無事に解決することができました。
zozyさんのご回答も
今後の参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Access(アクセス) Access で半角スペースと全角スペースの区別について 3 2022/11/05 23:54
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) 【VBA】ファイルパスに半角スペースが入ると、VBAが動かない 5 2022/08/04 20:52
- Word(ワード) スペースを1回押したら前回入力したのを最初に出るようにしたい 1 2023/06/10 14:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jdbcでinsert,delete,createをe...
-
Googleログインボタンのデザイ...
-
jdk17.06のインストーラーが起...
-
配列にnullを代入すると、null...
-
「main メソッドを持つクラスが...
-
JDONWROADER2のエラー修復
-
コンソールから所属財産を入力(...
-
正規表現について質問です。 カ...
-
eclipseで作ったプログラムを他...
-
スプレッドシートからリマイン...
-
googleスプレッドシートのスク...
-
googleスプレッドシートのGASに...
-
Verilogについて質問です。この...
-
論理回路設計をVerilogで行う問...
-
ゲーム開発の入門書を探しています
-
session,requestはjspで未定義...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
JAの支部?地域の農協のカード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
splitを使ってスペース位置で文...
-
VBAについて質問。別シートに転...
-
VBA SubTotalで集計を出そうと...
-
上書き保存されない
-
マクロのエラー
-
PowerShellのスクリプトでイベ...
-
VBAで連番に色を付けたい
-
Java、配列の問題を教えて欲し...
-
VBAでIEを最小化したい
-
Caps Lockキーの解除
-
Excelでカーソルが逆に動く
-
Excel2010の並べ替えで行の高さ...
-
リース初心者です 利子率の計...
-
VBA 条件が一致した場合の...
-
エクセルで作った書類に、パン...
-
エクセルで複数の勤務時間ごと...
-
エクセルの行高さが、挿入作業...
-
エクセルで離れたセルを離れた...
-
オーバレイ機能を解除する方法は?
-
エクセルシートを重ねることは...
おすすめ情報