whitespace - 如何识别空白字符的特定字符?
问题描述
我继承了以下代码:
string.text.replace(" ", " ");
没有围绕代码的注释。
这段代码看起来没有任何作用,但我怀疑它确实有。
我想将代码重构为更易于理解的内容,例如:
const NEWLINE = " "
string.text.replace(NEWLINE , " ");
const NON_BREAKING_SPACE = " "
string.text.replace(NON_BREAKING_SPACE, " ");
如何确定空白字符是特定字符?
我碰巧在使用 JavaScript,但 Python、shell 或在线工具也可以——主要问题是确定角色实际上是什么。
解决方案
我找到了我的问题的答案,粘贴在这里以帮助其他人:
- 使用UTF 8 编码器或类似的工具
encodeURI()
来获取每个字符的字符代码:
- 第一个字符是 20,
\x20
或者"%20
- 第二个字符是 C2A0,
\xc2\xa0
或者"%C2%A0"
- 在UTF 8 字符列表中查找字符代码(不带
\x
or%
)
这使:
SPACE (U+0020) 20
和:
NO-BREAK SPACE (U+00A0) c2a0
神秘代码竟然是:
string.text.replace(SPACE, NON_BREAKING_SPACE);
推荐阅读
- javascript - 向对消息 discrod js 做出反应的用户发送消息
- javascript - 如何将此 reactjs 表单中的数据发送到数据库?
- php - TinyMCE(Laravel)中的HTML显示错误
- javascript - Django-Javascript - 在将新元素添加到 html 模板正文时,materialcss 会破坏 javascript 代码
- c# - Blazor Inputselect onchange 事件不起作用
- python - Python 在两个函数之间传递变量
- flutter - GitLab Flutter CI 因“tojunit:找不到命令”而失败
- javascript - 在接收数据之前显示图表 - ChartJs - 每秒刷新一次
- reactjs - 反应:无法在表单中设置值
- postgresql - 如何修复“需要冻结 xid 截止之前未提交的 xmin,表“db.pg_catalog.pg_largeobject”的自动真空