質問

QStringの文字をそれらに基づいて置き換える必要があります QChar::category。 stdlibの用語で私がしたい ジェネラコディセタグプレ

または、Unicode文字で機能する正規表現に満足しています QString::replaceに使用できるカテゴリ。

QStringでそれは可能ですか、それとも本当に文字列を回す必要がありますか std::vector<QChar>で戻って?

編集:保持したいカテゴリ

  • 最初の文字の場合:$、_、またはUnicodeカテゴリの任意の文字「大文字(Lu)」、「小文字(Ll)」、「大文字(Lt)」、「修飾子文字(Lm)」 、「その他の文字(Lo)」、または「文字番号(Nl)」
  • 残りの部分:最初の箇条書きに加えて、U + 200Cゼロ幅非ジョイナ文字、U + 200Dゼロ幅ジョイナ文字、およびUnicodeカテゴリ「非スペーシングマーク(Mn)」、「スペーシング結合マーク」の文字(Mc)」、「10進数(Nd)」、または「コネクタ句読点(Pc)」。

    複数のパスで最初/休憩を行うことができます。

役に立ちましたか?

解決

Qtは、そのようなことを行う独自の方法を提供します。それが良いかどうかは疑わしいですが、Qtの慣用句はそうでしょう ジェネラコディセタグプレ

もちろん、ラムダとジェネラコディセタグコードを使用してそれを行うことができます ジェネラコディセタグプレ

ただし、慣用的な一般的なタグコードではありません。

文字列から記号を削除するのは遅く、スペースが予約されている場合は新しいものを追加するので、最初のコードサンプルが高速であることに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top