如何在文本文件中查找和替换框字符?

时间:2018-08-20 01:05:11

标签: regex text utf-8 special-characters

我有一个大的文本文件,该文件将通过编程方式进行处理,但是在整个文件中散布一个特殊字符时遇到了问题。该文件太大,无法扫描以查找特定字符。我已经能够使用某些正则表达式模式摆脱大多数其他不需要的特殊字符。但是有一个方框字符,类似于“□”。当我尝试从实际文本文件中复制字符并将其粘贴到此处时,我得到“ ...”,因此该框的示例来自Windows字符映射,其中包含代码“ U + 25A1”,但我不确定该如何来解释,或者我可以用它来进行正则表达式搜索。

有人会知道如何在UTF-8编码文件中搜索类似于“□”的框符号吗?

编辑:

以下是文本文件中的示例:

”。“当花梗出现时修剪棕榈树,或将修剪时间推迟到棕榈花开花后,以防止侵染棕榈花毛虫。留下前五行。”

唯一的问题是,如原始帖子中所述,正方形被转换为菱形问号。

3 个答案:

答案 0 :(得分:1)

虽然可以使用等效的十六进制形式,但仍不清楚您在哪里搜索以及如何搜索:

\x{25A1}

示例

https://regex101.com/r/b84oBs/1

答案 1 :(得分:1)

带有问号的黑色菱形本身不是字符。当您给它提供无法识别的字节数时,这就是浏览器向您吐出的东西。

  • 找出数据的来源。
  • 确定其编码。 (通常为UTF-8,但可能还有其他内容。)
  • 确保将浏览器配置为显示该编码。页面标题中的<meta charset=UTF-8>可能就足够了。

答案 2 :(得分:0)

我发现了使用Notepad ++和此website的解决方法。尚不清楚正方形最初来自哪个编码系统,但是当我将其发布到上方网站的查询字段或Notepad ++转换表(插件>转换器>转换表)中时,它会给出“替换字符”,它是带有问号的钻石。

enter image description here

在Notepad ++搜索中,在正则表达式\x{FFFD}中使用此代码可以给我所有方格,尽管它们被识别为“替换字符”。