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

1
 Position        Decimal        Name                     Appearance   
 0x241A          9242           SYMBOL FOR SUBSTITUTE    ␚

unicode 图表

也许这可以帮助你。

伴随着这一点。

正则表达式 Unicode

于 2013-08-30T19:24:37.123 回答
0

吉姆加里森的评论是答案:正则表达式正确地删除了子,但编码在这个过程中发生了变化。

另外,我正在使用产品调用 Boomi,并且我正在使用 Boomi 中内置的“搜索/替换”功能。它在底层运行 Java,这就是为什么我没有回答 ajb 关于 Java 代码的问题,因为我不知道正在运行的确切代码。

我们解决这个问题的方法是考虑编写一些自定义 Java 代码来进行字符替换,而不是使用 Boomi 的内置搜索/替换功能。

感谢您的帮助并为我指明正确的方向!

更新:我刚刚在 Boomi 中发现了一个内置功能:字符解码。事实证明,我可以在不编写自定义 Java 代码的情况下管理编码。

于 2013-09-05T16:53:35.923 回答