4

悪いデータを含むファイルがあり (それ自体はいくつかのランダムな SUB 制御文字... それらは書記素の一部ではありません)、正規表現検索パターンを使用してそれらを削除しようとしていました:

Text to Find: \x1a
Replace with: 

これにより、SUB 文字が削除されますが、アクセントのある他の文字 (具体的には é と í) も台無しになります。

SUB 制御文字 (コード ポイント) を単独で削除する正規表現はありますか? (例: 書記素の一部ではない)

SAMPLE DATA (「␚」が表示されているすべての場所を SUB 制御文字に置き換えます。

A,André,Fernandez
A,Daniel,O␚Shea
A,Ibhlín,Flanders
A,Donny,O␚'Donnell
A,Spencer,O'Maley

サンプル データ 現在の正規表現を使用した場合の出力:

A,Andr�,Fernandez
A,Daniel,OShea
A,Ibhl�n,Flanders
A,Donny,O'Donnell
A,Spencer,O'Maley

必要なデータ出力

A,André,Fernandez
A,Daniel,OShea
A,Ibhlín,Flanders
A,Donny,O'Donnell
A,Spencer,O'Maley
4

2 に答える 2

0

Jim Garrison のコメントが答えです。正規表現はサブを適切に削除していますが、その過程でエンコーディングが変更されています。

また、私は製品呼び出し Boomi を使用しており、Boomi に組み込まれている「検索/置換」機能を使用していました。内部では Java が実行されているため、実行されている正確なコードを知らなかったので、Java コードに関する ajb の質問には答えませんでした。

この問題を回避する方法は、Boomi の組み込みの検索/置換機能を使用する代わりに、カスタム Java コードを記述して文字置換を行うことを検討することです。

あなたの助けに感謝し、私を正しい方向に向けてください!

更新: Boomi の組み込み機能である Character Decode を見つけました。カスタム Java コードを書かなくてもエンコーディングを管理できることがわかりました。

于 2013-09-05T16:53:35.923 に答える