私はソースコード盗用アルゴリズム(Winnowingアルゴリズム)の実装に取り組んでおり、何か助けが必要な問題があります。変換された文字列のJavaでの位置を追跡する
例:例えば 私は、文字列
String test="blahello,,,,/blatestbla7234///§"§$%"%$\n\n23344)§()(§$blablayeahbla";
を持っており、
test="blahelloblatestblablablayeahbla"
にこの文字列を変換し、この文字列から、私はkgramsを構築5グラム
blahe lahel ahell hello ellob llobl .... ahbla
I文字列のリストにkgramsを保存しますが、開始位置と終了位置を保存することもできますfrすべてのkgramの原文を覚えておいてください。最後にkgramを元のテキスト位置に戻すことができます。
EDIT:
だから私の質問は、誰もが私を助けることができますどのように私はkgram の開始と終了位置を取得できるでしょうか?あなたは何か考えていますか? ありがとうございます。
あなたはこのような何かを意味していますか? blahe.begin = 0、blahe.end = 4、lahel.begin = 1、lahel.begin = 5、...? – wimdetr
必要なプロパティ(例:n、value、beginIndex、endIndexなど)を持つクラスNGramを定義します。そして、あなたのnグラムはStringのインスタンスではなくNGramのインスタンスであり、あなたが有用であると思われる追加のメタデータを持ち歩くことができます。 – Rob
申し訳ありませんが、私の質問は誤解を招いていました。私はそれを編集しました。 クラスに保存できますが、kgramの開始位置と終了位置を取得するにはどうしたらいいですか?私は元のテキストを変換し、多くの文字が置き換えられます。 たとえば、kgram ellobの開始位置を取得したい:4と終了位置13 – vizero