質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

4回答

1422閲覧

文字列中の数字を取り出す

退会済みユーザー

退会済みユーザー

総合スコア0

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2016/06/22 05:13

編集2016/06/22 05:20

java

1 String str = "1,3,7,9,12,"; 2 3 char[] strlen = str.toCharArray(); 4 int index = 0; 5 String en = ""; 6 char[] tmp_arr; 7 for (int i = 0; i < strlen.length; i++) { 8 if(strlen[i] == ','){ 9 en = "\n"; 10 }else{ 11 en = ""; 12 } 13 System.out.print(strlen[i] + en); 14 }

str文字列からコンマで区切って、文字列を表示していますが、
その他に文字列中の数字を取り出すやり方があれば教えてほしいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

String str = "1,3,7,9,12,";
String[] Num = str.split(",", 0);

とすれば、下記のように配列に格納されると思います。

Num[0] = "1";
Num[1] = "3";
Num[2] = "7";
Num[3] = "9";
Num[4] = "12";

あとはこれを画面出力すればよいかと思います。

投稿2016/06/22 05:23

編集2016/06/22 05:39
tomo.ina

総合スコア357

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/22 05:40

解決しました。ありがとうございます!!
guest

0

他にやり方があるのか、というご質問なのでScannerを使うという方法もあるのをご紹介。
Scanner scanner = new Scanner(str);
scanner.useDelimiter(Pattern.compile(","));

とすれば、hasNext()とnext()で順々に取り出せます。

投稿2016/06/22 05:46

yuba

総合スコア5568

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/22 06:12

おお!そんな便利なクラスがあるなんて知らなかったです。 大変勉強になりました。ありがとうございます。
guest

0

ruby

1"10,20, 300, 4000, 50000".scan(/\d+/) 2=> ["10", "20", "300", "4000", "50000"]

参考情報

投稿2016/06/22 13:31

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/23 00:26

ご回答ありがとうございます。 scan()関数?はRubyだけにあるものですか?? splitと同じ機能としてとらえて大丈夫ですか?
katoy

2016/06/23 11:53

split() は 区切り文字を指定して処理をします。 scan() は取り出したい文字を指定して処理をします。 発想が逆のメソッドです。 ruby 以外の言語に scan() 相当のものが素材するかは,私にはわかりません。
退会済みユーザー

退会済みユーザー

2016/06/23 14:45

ありがとうございます。参考になりました。
guest

0

こんな感じでしょうか(未検証)

Java

1if(strlen[i] == ','){ 2 en = "\n"; 3}else{ 4 en = String.valueOf(strlen[i]); 5}

追記
なんか的外れな気がするので、外してたら無視してください。

投稿2016/06/22 05:24

編集2016/06/22 05:26
ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問