Stringの文字列をString[]配列に変換したい

お世話になります♪

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

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

よろしくお願いします。

投稿日時 - 2006-10-24 16:59:26

QNo.2494481

すぐに回答ほしいです

質問者が選んだベストアンサー

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

投稿日時 - 2006-10-24 17:06:06

お礼

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

投稿日時 - 2006-11-06 17:51:05

ANo.1

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

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(4件中 1~4件目)

ANo.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]);
}
}
}

投稿日時 - 2006-10-24 23:24:21

お礼

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

投稿日時 - 2006-11-06 17:47:48

ANo.4

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]);
}
}
}

投稿日時 - 2006-10-24 22:59:13

お礼

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

投稿日時 - 2006-11-06 17:48:28

ANo.3

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

投稿日時 - 2006-10-24 17:12:05

お礼

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

投稿日時 - 2006-11-06 17:49:06

ANo.2

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

クラスとしては、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 ] = "しています。"

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

投稿日時 - 2006-10-24 17:11:15

お礼

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

投稿日時 - 2006-11-06 17:50:32

あなたにおすすめの質問

[PR] お役立ち情報