1

文字列を解析しようとしていますが、それを行うには部分文字列を使用する必要があります。文字列にはアポストロフィ文字が含まれています。私の質問は、tempを使用してString.indexOfを取得し、アポストロフィ文字のインデックスを取得するにはどうすればよいですか?

//temp variable currently contains the string 'hello' including the apostrophe character
String finalWord = temp.substring(temp.indexOf('''), temp.indexOf('.')); 
4

2 に答える 2

10

変数名が間違っています(final予約語です)。エスケープ文字を使用する必要があります。

String finalword = temp.substring(temp.indexOf('\''), temp.indexOf('.')); 
于 2012-11-14T18:14:47.343 に答える
0

あなたが実際にやろうとしていることを宣言するあなたの最後のコメントに基づいて...

入力からすべてのアポストロフィで引用された文字列を抽出するための単純な1行のソリューションがあります。

String[] quotedStrings = input.replaceAll("^.*?'|'[^']*$", "").split("'.*?('|$)");

ここにいくつかのテストコードがあります:

public static void main(String[] args) {
    String input = "xxx'foo'xxx'bar'xxx'baz'xxx";
    String[] quotedStrings = input.replaceAll("^.*?'|'[^']*$", "").split("'.*?('|$)");
    System.out.println(Arrays.toString(quotedStrings));
}

出力:

[foo, bar, baz]
于 2012-11-15T05:18:23.600 に答える