2

これに関する最初の検索の後、私は少し迷っています。

バッファ オブジェクトを使用して、一連の Unicode コード ポイントを保持したいと考えています。上記のシーケンスからトークンをスキャンして抽出する必要があるだけなので、基本的にこれは読み取り専用バッファーであり、バッファー内でポインターを進め、サブセグメントを抽出する機能が必要です。もちろん、バッファ オブジェクトは通常の正規表現と文字列の検索操作をサポートする必要があります。

これには通常の Unicode 文字列を使用できますが、問題は、バッファ内でポインタを進めることをシミュレートするために部分文字列のコピーを作成することです。何らかの回避策がない限り、これはより大きなバッファーに対して非常に非効率的であるようです。

適切なオブジェクトがあることがわかりMemoryviewますが、Unicode をサポートしていません (?)。

上記の機能を提供するために他に何が使用できますか? (Py2 か Py3 か)。

4

1 に答える 1

1

正確に何が必要かによって異なりますが、通常は 1 つの Unicode 文字列で十分です。小さくないスライスを取得する必要がある場合は、それらを 3 タプルとして保持する(big unicode, start pos, end pos)か、これらの 3 つの属性と必要な API を使用してカスタム オブジェクトを作成することができます。unicode.find()ポイントは、または正規表現パターンオブジェクトのような多くのメソッドがsearch()開始点と終了点を指定することをサポートしていることです。したがって、単一の大きな Unicode 文字列を実際にスライスする必要なく、最も基本的なことを行うことができます。

于 2013-07-28T10:15:55.137 に答える