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

Regex 如何在文本文件中查找和替换方框字符?,regex,text,utf-8,special-characters,Regex,Text,Utf 8,Special Characters,我有一个很大的文本文件,我将以编程的方式处理它,但是遇到了一个特殊字符散布在整个文件中的问题。文件太大,无法扫描以查找特定字符。大多数其他不需要的特殊字符,我已经能够摆脱使用一些正则表达式模式。但有一个方框字符,类似于“□". 当我试图从实际的文本文件中复制字符并在这里通过它时,我得到“�“,因此该框的示例来自Windows character map,其中包含代码‘U+25A1’,我不确定如何解释该代码,也不确定它是否可以用于正则表达式搜索 有人知道我如何搜索类似于“”的方框符号吗□“在UTF

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

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

编辑:

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

"� 当花苞出现时修剪棕榈树,或延迟修剪直到棕榈树开花后,以防止棕榈花毛虫侵扰。留下前五排。”


唯一的问题是,正如原始帖子中提到的,正方形被转换成菱形问号。

不清楚搜索的位置和方式,尽管您可以使用十六进制等价物:

\x{25A1}
示例


不清楚您在哪里以及如何搜索,尽管您可以使用十六进制等效值:

\x{25A1}
示例


我找到了一个使用记事本++的解决方法。现在还不清楚正方形最初来自哪个编码系统,但当我将其发布到上面网站的查询字段或记事本++转换表(插件>转换器>转换表)时,它给出了“替换字符”的十六进制代码“这是带问号的钻石


在Notepad++搜索中,在正则表达式中使用此代码,
\x{FFFD}
,我得到了所有的方块,尽管将它们识别为替换字符

我找到了一个使用记事本++和此的解决方法。现在还不清楚这个正方形最初是什么编码系统,但是当我把它发布到上面网站的查询字段中,或者发布到Notepad++转换表(插件>转换器>转换表)中时,它给出了“替换字符”的十六进制字符码,即带有问号的菱形


在Notepad++搜索中,在正则表达式中使用此代码,
\x{FFFD}
,我得到了所有的方块,尽管将它们识别为替换字符

带问号的黑钻石本身不是一个角色。当你给它不可识别的字节时,它就是浏览器向你吐出来的

  • 找出数据的来源
  • 确定其编码。(通常为UTF-8,但也可能是其他类型。)
  • 确保浏览器配置为显示该编码。这可能足以满足页面标题中的

    • 带问号的黑钻石本身不是一个字符。当你给它不可识别的字节时,它就是浏览器向你吐出来的

      • 找出数据的来源
      • 确定其编码。(通常为UTF-8,但也可能是其他类型。)
      • 确保浏览器配置为显示该编码。这可能足以满足页面标题中的

      您能提供示例输入和输出plz吗?您能提供示例输入和输出plz吗?我认为这可能很接近,但它不是正确的十六进制值。@ConnerM:如果不知道实际字符,很难说出它是哪个字符。。。也许可以尝试
      \x{FFFD}
      ,这将是
      。我认为这可能很接近,但它不是正确的十六进制值。@ConnerM:在不知道实际字符的情况下很难说出它是哪个字符。。。也许可以尝试
      \x{FFFD}
      ,这将是