问题标签 [non-printing-characters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
32135 浏览

javascript - 如何替换不可打印的 unicode 字符(Javascript)

我已经浪费了大量时间处理字符串(由其他来源生成),我发现问题在于字符串具有不可打印的字符。今天我正在处理javascript。有谁知道如何在 javascript 中替换不可打印的 unicode 字符?

我在这里发现了类似的东西:

如何替换 Java 中不可打印的 Unicode 字符?

my_string.replaceAll("\\p{C}", "?");

和这里:

仅使用 Safari 浏览器添加表单输入的非 ascii 字符

filename.replace(/[^a-z0-9\.]+/gi, "");

最后一个选项替换所有不在括号中的字符。无论我正在使用哪种语言,这总是在我的后端咬我,我厌倦了试图弄清楚是什么字符弄乱了我的代码。出于这个原因,我希望能够将所有这些不可见的字符替换为可见的字符,以便以后可以完全删除它们。

0 投票
1 回答
25825 浏览

r - Remove special characters from data frame

I have a matrix that contains the string "Energy per �m". Before the 'm' is a diamond shaped symbol with a question mark in it - I don't know what it is.

I have tried to get rid of it by using this on the column of the matrix:

[and using copy/paste for the first term of gsub], but it does not work.[unexpected symbol in "a=rep(5,Energy per"]. When I try to extract something from the original matrix with grepl I get:

How can I get rid of all this sort of signs? I would like to have only 0-9, A-Z, a-z, / and '. The rest can be zapped.

0 投票
2 回答
187 浏览

non-printing-characters - 过滤不可打印字符的最佳实践

在构建票务系统前端时,我偶然发现了我们的 QA 团队发现的一个问题。

问题是我们没有过滤任何不可打印的字符,这可能会导致奇怪的问题:

  • 复制粘贴示例代码不起作用
  • 客户通过粘贴多个不可打印的字符来滥用表单,这实际上没有任何意义

如果我们要求客户输入任何不可打印的字符,我们可以要求他上传一个文本文件到工单。

那么,去除非印刷品时应该考虑什么?

我要提前感谢所有参与本次讨论的人!

0 投票
2 回答
10807 浏览

java - 从 String 中删除除 controlchars 之外的不可打印的 utf8 字符

我有一个包含文本、控制字符、数字、变音符号(德语)和其他 utf8 字符的字符串。

我想去掉所有不是“语言的一部分”的 utf8 字符。(非完整列表)“:/\ßä,;\n \t”等特殊字符应全部保留。

可悲的是,stackoverflow 删除了所有这些字符,所以我必须附加一张图片(链接)。

有任何想法吗?非常感谢帮助!

PS:如果有人知道不会杀死那些特殊字符的粘贴服务,我会很乐意上传字符串..我只是找不到..

[编辑]:我认为正则表达式“\P{Cc}”是我想要保留的所有字符。可以反转这个正则表达式,以便返回所有不匹配这个正则表达式的字符吗?

0 投票
1 回答
3232 浏览

php - Print_r() 到 PHP error_log() 不起作用。(非打印字符)

我在帮助类 Utility::error_log() 中有一个静态方法,用于帮助我们优雅地调试 PHP 中的 HUGE 对象。该方法及其辅助方法 Utility::toArray() 如下:

现在这可能有点看,但要点是,toArray 使一个巨大的对象(大量递归)数量级更小,并将所有属性作为数组或字符串返回。使用起来更容易......这个想法是print_r($array,true)让数组成为一个字符串,然后我们记录它。

然而,这并没有按预期工作。结果是:

然后什么也没有,当我调用print_r($data)并打印到浏览器时,我得到:

在你说这是一个 error_log() 长度限制之前,我会提到我可以成功地$data = var_export($data,true)将结果发送到 error_log() 没有问题:

问题是什么?为什么它可以与var_export($data,true), 和一起使用print_r($data,false),但不能与print_r($data,true)??

0 投票
3 回答
12392 浏览

ruby - 如何删除 ruby​​ 中的不可打印/不可见字符?

有时我在字符串中间有邪恶的不可打印字符。这些字符串是用户输入的,所以我必须让我的程序很好地接收它,而不是试图改变问题的根源。

例如,它们可以在字符串中间有零宽度的不间断空格。例如,在解析文件时,一个有问题的部分是文件中间的字符串。虽然一切看起来都是正确的,但通过以下节目进行检查:.po"he is a man of god"irb

我相信我知道 aBOM是什么,我什至可以很好地处理它。但是有时我在文件中间有这样的字符,所以它不是BOM.

我目前的方法是以一种非常臭的方式删除所有我发现邪恶的角色:

我得到的最接近的是关注这篇文章,这使我:print:选择了正则表达式。然而这对我没有好处:

所以问题是:如何从 ruby​​ 中的字符串中删除所有不可打印的字符?

0 投票
2 回答
4100 浏览

grep - GREP_OPTIONS='--color=always' 导致非打印字符

我的 bash 版本:

在我的 .bashrc 中,我有:

要重现该问题,请创建一个文件 test.txt 并写几行:

在 bash 中,执行 grep:

当我检查结果时,我得到如下信息:

关于这个问题的任何想法?顺便说一句,我已经设置了 fileformats=unix。

0 投票
1 回答
278 浏览

php - 为什么我可以用非打印字符定义 PHP 函数?

我一直认为所有 php 函数都必须以[a-zA-Z].

例如,这将起作用:

...虽然这不会:

然而,作为结果显示的字符rawurldecode('%E2%80%A9'),当显示它的文档具有声明的 UTF8 内容类型时,也可用于定义函数。

在不显示隐藏字符的文本编辑器中,它最终看起来该函数已被定义为function () {然后可以通过调用来执行(看起来不超过)();

我无法粘贴源代码并让它仍然正确显示,所以这里有一些屏幕截图。第一个是在我的浏览器中显示的屏幕截图,第二个是在我的文本编辑器 (TextWrangler) 中显示的实际源代码的屏幕截图,其中显示隐藏字符打开:

浏览器:


在此处输入图像描述


源代码:


在此处输入图像描述

我的问题:这是故意的吗?我是否应该能够使用非打印字符定义函数/变量并且仍然让它们完美地工作?如果是这样,它是否记录在某处?

我找不到任何关于它的信息,但我(显然)并不知道一切。

谢谢!

0 投票
2 回答
1326 浏览

ruby - Ruby 将不可打印的字符转换为数字

我有一个带有不可打印字符的字符串。

我目前正在做的是用波浪号替换它们:

但是,我实际上想将它们转换为它们的整数值。

我试过这个,但它总是输出0

想法?

0 投票
2 回答
3443 浏览

file - 使用其 ascii 值替换文件中所有出现的不可打印字符

我有一个文件myFile.xml,我想在其上运行xmllint命令以进行正确格式化。

它包含 ASCII 字符 26(替代字符),因为该xmllint命令因解析器错误而失败。

如何在这个文件中用空白替换所有出现的这个字符?