0

二重引用符の間のすべての文を保持し、それらを配列 results[] に入れようとしています

たとえば、次のコードを使用できます

public static void main (String[] args){

int i = 0 ;

System.out.println ( "words to be printed" );


}

この例では、配列の結果に「印刷する単語」という 1 つの文字列が含まれている必要があります。

私が使用している手法は、新しい行 (\n) で分割し、各文字列に二重引用符が含まれているかどうかを確認して結果に入れることです

"your string here".split("\"")[1]引用符間のテキストを抽出するために使用しました

問題は、一部の文字列に引用符があり、一部の文字列がないことです。

私は試しました: if("your \"string\" here".split("\"")[1])->しかし、文字列に引用符がない場合、これは例外になります文字列に引用符があるかどうかを確認するにはどうすればよいですか?

4

5 に答える 5

2

これは、正規表現を使用して". だから、このような行

"myWord" and somewhere else "myOther words" 

出力する必要があります

myWord
myOther words

親マッチングのコード例:

Pattern pattern = Pattern.compile("\"(.*?)\"");
for (String line: myLines){
    Matcher matcher = pattern.matcher(line);
    while (matcher.find()){
        System.out.println("found match '"+matcher.group(1)+"'");
    }
}

1 行だけを一致させたい場合は、for ループを無視して、1 つの入力に対してのみ一致させます。

于 2013-06-10T20:01:52.980 に答える
1

文字列に 2 つの二重引用符がある場合、split("\"") は 3 つの部分に分割されます。したがって、次のようなチェックを行うことができます (複数の二重引用符ペアが予想される場合)。

String[] s = input.split( "\"" );
if( s.length > 2 )
  System.out.println( s[ 1 ] );
于 2013-06-10T20:03:52.377 に答える
1

MyString.contains("\"") を使用して、二重引用符の存在を確認します。存在する場合は、あなたが言ったように分割を使用します。存在しない場合は、yourString = "\""+youtString; を作成します。その後、分割を使用します

于 2013-06-10T20:01:18.977 に答える
0

これは、文字列に引用符があるかどうかを確認する方法です

      if (yourText.contains("\"")){
    //do something
       }
于 2013-06-10T20:02:00.273 に答える
0

用途別に分割する代わりに\n(Java 1.7 を使用している場合)

String newLine = System.getProperty("line.separator");

を使用します"your string here".split(newLine)。この助けを願っています。

于 2013-06-10T20:10:07.020 に答える