Word 文書で文字列を検索し、最初の文字の「オフセット」を返す必要があります。私が確信していないのは、改行をどのように説明するかです。ドキュメントが次のもので構成されている場合:
やあ
世界。
'W' のオフセットは? - 'i' のオフセットが 1 であるため、2 ですか? それとも、隠れた '\n' が文字と見なされる可能性があるため、3 ですか? ドキュメントが '\r\n' キャリッジ リターンを使用している場合はどうなりますか? これに対処する標準的な方法はありますか(Java)?
Word 文書で文字列を検索し、最初の文字の「オフセット」を返す必要があります。私が確信していないのは、改行をどのように説明するかです。ドキュメントが次のもので構成されている場合:
やあ
世界。
'W' のオフセットは? - 'i' のオフセットが 1 であるため、2 ですか? それとも、隠れた '\n' が文字と見なされる可能性があるため、3 ですか? ドキュメントが '\r\n' キャリッジ リターンを使用している場合はどうなりますか? これに対処する標準的な方法はありますか(Java)?
答えは正規化です。
test.replaceAll("\r", "").indexOf('W')
3
最初に、タスクを最初に定義した人にこの質問について相談する必要があると思います。最初の文字の「オフセット」を返します。それはすべて、オフセット値をさらに使用する方法に依存するためです。
一方、私はすべての「特殊」文字を数えます。つまり、\r と \n も数えます。
\rおよび\n文字でもあり、他の文字のようにインデックスを増やします。プロセスの前
に改行文字を確認したい場合にのみ使用される場合、オフセットWは3です。処理前にテキストからすべてを削除します\n\r