StringA = StringBと任意のポイントに挿入された別のStringCをチェックする最良の方法は何ですか?例えば文字列への挿入の検索
は、abcdef
とabcXYZdef
を与え、私はabcXYZdef
が一方の位置4.
に挿入XYZ
とabcdef
であることを見つけたい、abcdef
とabRSTcdXYZef
を与え、私は最初の文字列を検索するを1回の挿入で2番目にすることはできません。
私はStringAの文字を両端から渡して、StringB全体をカバーしているかどうかを確認できますが、それは書くのが面倒です。 Python(これは私が取り組んでいる)でこれをやるのがやや遅く、ちょうどこれのために特別なC拡張を書くのではないでしょう。
Regexや他の標準の文字列操作関数を使って私にできることはありますか?
編集:明確にするために、StringCは完全に不明です。有効なStringCもないかもしれませんが、そうであるかどうかを知りたいです。
あなたのサンプルを作った場合、それはおそらく役立つだろう文字列が短く理解しやすくなります。 –
本当に書くのは面倒だと思いますか? Pythonには、部分文字列 's1 [:n] == s2 [:n]'をチェックするためのすてきなスライシングがあります。もちろんそれは驚くほど効率的ではありませんが、コードを書くのに時間がかかりません。 – phimuemue
私はあなたがキャラクターごとの解決策を拒否する理由を知りません。それは数行以上のコードではないようで、純粋なPythonほど早いでしょう。 –