質問

お世話になります♪

たとえばこういうStringの文字列があるとします。
String s = "私は Javaを 勉強 しています。";
これを下記のようなイメージでString[]配列に変換したいのですが、
{"私は","Javaを","勉強","しています。"};

何かいい方法はないでしょうか?
ヒントをください!

よろしくお願いします。

通報する

回答 (5件)

ご参考までに

import java.util.*;
class Hello022 {
public static void main(String args[]){
String[] str = new String[4];
int i = 0;
String s = "私は Javaを 勉強 しています。";
StringTokenizer st = new StringTokenizer(s ," ");
while(st.hasMoreTokens()){
str[i] = st.nextToken();
i++;
}
for(int j=0;j<str.length;j++){
System.out.println(str[j]);
}
}
}

この回答へのお礼

完璧なサンプルありがとうございます!

substringを使うならば少し苦しいですが
class Bunkatsu {
public static void main(String[] args){
int i=0;
int j=0;
int k[]=new int[10];
String str="私は Javaを 勉強 しています。";
String sstr[]=new String[10];

k[i]=0;
i=i+1;
str=" "+str;

while(j<str.length()){

if(str.substring(j,j+1).equals(" ")||str.substring(j,j+1).equals("。")){
k[i]=j+1;
i=i+1;
}
j=j+1;
}
for(int l=0;l<i-1;l++){
sstr[l]=str.substring(k[l],k[l+1]);
System.out.println(sstr[l]);
}
}
}

この回答へのお礼

こういうやり方もあるんですね!
ありがとうございます!

Java1.4以降かつ正規表現が理解できるならStringクラスのsplitメソッドでもOK。

この回答へのお礼

正規表現はまだ理解できていません・・・。
今度挑戦してみます!
ありがとうございました!

区切りたい文字と文字の間に半角スペースが入るというのを前提に記述します。

クラスとしては、StringTokenizerクラスが使えると思います。
サンプルソースとしては…

StringTokenizer strToken = new StringTokenizer( "私は Javaを 勉強 しています。", " " );
int intMax = strToken.countTokens();
String[] strPara = new String[ intMax ];
for( int i = 0; i < intMax; i++ ) {
strPara[ i ] = strToken.nextToken();
}

これで、
strPara[ 0 ] = "私は"
strPara[ 1 ] = "Javaを"
strPara[ 2 ] = "勉強"
strPara[ 3 ] = "しています。"

が、格納されると思います。
※他に良い案があるかもしれませんが…(汗)

この回答へのお礼

わかりやすいサンプルありがとうございました!

java.util.StringTokenizerで区切り文字を半角スペースで使用して、
hasMoreTokens()をwhileで回しながらそのループ中で配列に投入してはどうですか?

この回答へのお礼

サンプルを見る前にある程度自分で組むことが出来ました!
ありがとうございます!

このQ&Aは役に立ちましたか?1 件

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

注目の記事

フリーアナウンサー長谷川豊氏の新コーナー「このニュースどう思います?」がスタート!

元フジテレビのフリーアナウンサー長谷川豊氏から気になるニュースについておしトピの皆さんに質問します! 皆さんの意見をもとに長谷川豊氏がコラムを執筆します! アプリリリース記念として最大1万分のアマゾンギフト券プレゼントキャンペーンも実施中!

このQ&Aを見た人が検索しているワード


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集