我有一个德国文本的大数据集,它是由一些编码问题生成的,我无法从头开始重新创建数据集。所以,我发现在德语特殊字符应该是字符串“??”的情况下出现在它的位置(我猜这是因为将UTF8视为Ascii或其他类似的东西)。
数据集采用一系列包含约180,000行的CSV文件的形式。我的解决方案是识别包含“??”的所有唯一单词并基本上做一个字符串替换。幸运的是,没有那么多独特的单词可以替换(大约5%的数据集样本中有18个单词)。
我设法得到一个正则表达式,它匹配包含“??”的一个实例的单词 - 问题是它拆分了包含多个“??”实例的单词分成两部分。
在这个阶段,我有点达到我的正则表达知识的极限。我想这需要做一些预测,但我不知道如何去做。
这是我的正则表达式:"@"(?<TM>\w*\?\?\w*)"
。
这是一个示例字符串(请注意,第二个单词将分为两个匹配项:"hellgr??n Hei??folienflachpr??gung Folienpr??gung,"
答案 0 :(得分:2)
(?<TM>\w*(\?\?\w*)+)
重复包含??的部分至少一次。