当前位置: 首页 > 面试题库 >

从字符串中删除非ASCII字符

许彦
2023-03-14
问题内容

从网站提取数据时出现奇怪的字符:

Â

如何删除不是非扩展ASCII字符的内容?


问题答案:

正则表达式替换将是最佳选择。使用$str作为一个例子的字符串,并使用匹配它:print:,这是一个POSIX字符类:

$str = 'aAÂ';
$str = preg_replace('/[[:^print:]]/', '', $str); // should be aA

什么:print:是寻找所有可打印字符。相反,:^print:查找所有不可打印的字符。不属于当前字符集的所有字符都将被删除。

注意: 使用此方法之前,必须确保当前字符集为ASCII。POSIX字符类同时支持ASCII和Unicode,并且仅根据当前字符集进行匹配。从PHP
5.6开始,默认字符集为UTF-8。



 类似资料:
  • 问题内容: 我有一个包含非ASCII字符的URI,例如: http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl -ttrigeSomerzischeruchtanb 如何从此URI中删除“ …” 问题答案: 我猜想URL的来源更多是错误的。也许您正在解决错误的问题?从URI中删除“奇怪”字符可能会赋予它完

  • 问题内容: 我得到的用户输入包括非ASCII字符和不可打印的字符,例如 例如: 所需的输出: 使用Java删除它们的最佳方法是什么? 我尝试了以下操作,但似乎不起作用 输出量 问题答案: 您的要求不清楚。Java 中的所有字符都是Unicode字符,因此,如果将其删除,将留下一个空字符串。我假设您的意思是您要删除任何非ASCII,不可打印的字符。 此处, 代表可打印ASCII字符的POSIX字符类

  • 问题内容: 我有一个存储在数据库中的HTML字符串。不幸的是,它包含诸如®的字符,我想在数据库本身中或在我的Python / Django代码中使用“查找替换”将它们替换为HTML等效字符。 关于如何执行此操作的任何建议? 问题答案: 你可以使用ASCII字符为前128个字符,因此获取每个字符的编号,如果超出范围则将其删除 结果 请注意,@其中包括了它,因为毕竟它是一个ASCII字符。如果要剥离特

  • 问题内容: 我已经尝试解决这个问题一段时间了,我试图从DB_user列中删除非ASCII字符并尝试将它们替换为空格。但是我不断出错。这是我的数据框的外观: 我正在使用此功能,这是我在研究SO问题时遇到的。 我不断收到错误: 但是,我认为通过使用filter_func函数中的循环,可以通过在’ord’中输入一个char来解决这个问题。因此,当它遇到非ASCII字符时,应将其替换为空格。 有人可以帮我

  • 问题内容: 我得到的任务是从文本文件或字符串中删除所有非数字字符,包括空格,然后在旧字符旁边打印新结果,例如: 之前: 后: 由于我是初学者,所以我不知道从哪里开始。请帮忙 问题答案: 最简单的方法是使用正则表达式

  • 问题内容: 我在从字符串中删除非utf8字符时出现问题,这些字符无法正确显示。像这样的字符0x97 0x61 0x6C 0x6F(十六进制表示) 删除它们的最佳方法是什么?正则表达式还是其他? 问题答案: 使用正则表达式方法: 它搜索UTF-8序列,并将其捕获到组1中。它还与无法标识为UTF-8序列的一部分的单个字节匹配,但不捕获这些字节。替换是捕获到组1中的任何内容。这将有效删除所有无效字节。