Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。1,302件-11UnityC#でアプリを作成しており、Android側の入力文字とiPhone側の入力文字を一致させるため、C#のRegaxを使ってReplaceしようとしているのですがうまくいきません。下記のようなコードを書いているのですが、Androidの実機で0、1、8などが削除されてしまい入力可能な文字が除外されてしまいます。除外される理由がわかっていません。リスト内をループして該当すれば空文字にする。アプリ内でキーボード入力された文字列が入っています。票2使用しているフォントによっては、どちらも円記号に見えているのかもしれませんが、パターン文字列中最初の\はU+005cのバックスラッシュ(Windows用を中心に一部フォントでは円記号で表示される)ですが、後ろ3行の¥は普通に円記号U+00A5です。"[\uDC00-\uDFFF]"で全てのサロゲートが除外されてしまうので、非BMP文字の一部範囲を表すようなパターンは意味がありません。後ろ3行のパターンはとりあえず削除してしまうべきでしょう。(それであなたの所望する文字が全部削除されるかどうかは別問題ですが。以外にEやFなんかも削除されてしまうのではないかと思います。サロゲートペアの上位下位全部を指定すると、上記に書いたように全ての非BMP文字が削除されてしまうので、「それでは削除対象が多すぎる!」と言う場合にはもっと具体的に削除対象の文字列を示していただかないと、さてどうするべきかは書けないですね。下記URLで先頭の大文字をUにすると8桁比較ができるのではと思い、下位3行を8桁表示("[¥U000EFF80-¥U000EFFFF]")にしてやってみたのですが、これもエラーになり、そして最終的に質問した形になりました。3:20>もっと具体的に削除対象の文字列を示していただかないと、さてどうするべきかは書けないですね。両機種間の齟齬が無いように正規表現のパターンを増やしていきながらテストしています。除外対尾にはならないと思うのですが、除外される理由がわかっていません。OOPerさんが既に指摘されていますが、"[¥u{EFF80}-¥u{EFFFF}]"等に含まれている¥は単なる円記号U+00A5です。そのためこの正規表現は"[08EFu{}-¥]"と解釈され、0、8、E、F、u、{と}から¥(U+007B~U+00A5)がマッチし、Replaceによって削除されます。プログラムは念じた通りには動かず、記述した通りに動くことを理解してください。Area-B)の意図を汲んでサロゲートペアに分解すると\uDB7F\uDF80~\uDB7F\uDFFF\uDB80\uDC00~\uDBBF\uDFFF\uDBC0\uDC00~\uDBFF\uDFFFとなります。これらの文字は1文字目は上位サロゲート"[\uD800-\uDB7F]"と"[\uDB80-\uDBFF]"に2文字目は下位サロゲート"[\uDC00-\uDFFF]"に包含されているため、あえて指定する必要はありません。それよりもOOPerさんも指摘されているようにサロゲートペア全体を除外するのは範囲が広すぎるかと思います。一部の漢字まで該当・削除されてしまいます。仮にサロゲートペアの範囲を縮小する場合、上位サロゲートを絞り込むことになりますが、その際、上位サロゲートと下位サロゲートを個別に削除した場合、特に下位だけ削除されてしまい上位が残ってしまうと文字列として壊れます。削除するのであれば連続した組み合わせに限定すべきです。個の銅バッジ>OOPerさんが既に指摘されていますが、"[¥u{EFF80}-¥u{EFFFF}]"等に含まれている¥は単なる円記号U+00A5です。5桁以上の文字を正規表現でバリデーションする方法がわからず。参考にして\Uにしてバリデーションをかけてみたのですが。order.」となり最終的に質問の形になりました。していないのであれば質問文を更新し尋ねたい内容を明確にしてください。1:49実装上の問題は解決しました、実機上での問題が解決していないので別途質問中です。後5文字以上の正規表現は解決してません。|-4下記コードで解決できましたが、UnityのIL2CPPビルドを行うと正規表現によるバリデーションが効かなくなるので調査中です。個の銅バッジあなたの抱えている課題ではなく、投稿した質問文について議論してください。2:05Unityのタグを打っている以上は、無関係ではないです。実機で動作しないものをもらっても別の人の助けにはならないです。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。