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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

3820閲覧

部分一致について(java)

sky.user.

総合スコア15

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/05/06 15:23

初めて質問させて頂きます。
教科書を見ながら自分でコードを書いてみたのですが、上手く行きません。
検索したのですが、今回のようなケースがどうしても見当たらなかったため、お知恵をお借りしたいです。

javaで部分一致のコードを書いています。
コマンドライン引数の文字列にstrの文字が含まれていたらOK、含まれていない場合はNGと表示させたいです。

(例)コマンドライン引数:出力結果
・あ:OK
・123:NG
・きくけこ:OK
・きくあ:NG

以下自分が書いたソースコードです。
コンパイル、実行ともに通ったのですが、これだとstrが完全に一致していないとOKになりません。
APIを使用しようと思い、findやcontainsなども試してみたのですが、上手く行きませんでした。
修正箇所やソースコード、アドバイス等、どなたかご回答頂けると幸いです。
宜しくお願い致します。

class reidai{
public static void main(String[]args){
String str = "あいうえおかきくけこ";
if(args[0].matches(str)){
System.out.println("OK") ;
}else{
System.out.println("NG");
}
}
}

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/05/06 22:53

あいうえおかきくけこさ がOKにいかないかい?
sky.user.

2018/05/07 00:18

ご質問ありがとうございます。NGになってしまいます。。。
guest

回答3

0

String.IndexOf メソッドで。

投稿2018/05/06 15:32

y_waiwai

総合スコア87774

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

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

0

ベストアンサー

投稿2018/05/06 15:28

LouiS0616

総合スコア35660

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

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

退会済みユーザー

退会済みユーザー

2018/05/06 22:55

順序逆て話ではないのこれ?
LouiS0616

2018/05/07 00:06

それも込みですが、str.matches(argv[0]) で上手くいくわけでもないですし。
swordone

2018/05/07 00:20

「containsも試したがうまくいかなかった」は、順番逆のせいですね。
sky.user.

2018/05/07 00:22

ご回答ありがとうございます。 順序逆、の意味はコード4行目のargs[0]とstrのことでよろしいでしょうか? おっしゃるとおり、上記コードと同じ処理がされてしまい、上手くいきませんでした。。。
LouiS0616

2018/05/07 00:33

あ、「containsも試したがうまくいかなかった」は見落としていました。 str.contains(argv[0]) ならうまくいきませんか?
sky.user.

2018/05/07 00:44

ご回答ありがとうございます。 str.contains(args[0]) で実行したい処理ができました! 順序が関係あることを知りませんでした。。。 本当にありがとうございました…!
sky.user.

2018/05/07 00:47

皆様ベストアンサーにさせていただきたいところですが、今回は早く詳細にご回答いただいたLouiS0616さんを選ばせていただきます。 皆様本当にありがとうございました!
guest

0

"java String 部分一致"
で google 検索すると、情報がえられます。

検索結果のなから一つを紹介します。

  • 【速習Java】Stringのcontainsで文字列を含むか知る方法

[https://www.sejuku.net/blog/19257][https://www.sejuku.net/blog/19257]

...
JavaのStringを扱う上で、文字列の中に特定の文字列が含まれているか、確認する必要に迫られることがあります。
そんな場合に、containsメソッドを使うと便利です。
...

投稿2018/05/06 21:27

katoy

総合スコア22324

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

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

sky.user.

2018/05/07 00:38

ご回答ありがとうございます。リンク先、拝見しました。 この場合ですと、(例)3つ目の「きくけこ」のようにstrの中にあるものが含まれている場合が OKにならないのではないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問