首页 > 解决方案 > 如何识别空白字符的特定字符?

问题描述

我继承了以下代码:

string.text.replace(" ", " ");

没有围绕代码的注释。

这段代码看起来没有任何作用,但我怀疑它确实有。

我想将代码重构为更易于理解的内容,例如:

const NEWLINE = " " 
string.text.replace(NEWLINE , " ");
const NON_BREAKING_SPACE = " " 
string.text.replace(NON_BREAKING_SPACE, " ");

如何确定空白字符是特定字符?

我碰巧在使用 JavaScript,但 Python、shell 或在线工具也可以——主要问题是确定角色实际上是什么。

标签: whitespace

解决方案


我找到了我的问题的答案,粘贴在这里以帮助其他人:

  1. 使用UTF 8 编码器或类似的工具encodeURI()来获取每个字符的字符代码:
  • 第一个字符是 20,\x20或者"%20
  • 第二个字符是 C2A0,\xc2\xa0或者"%C2%A0"
  1. 在UTF 8 字符列表中查找字符代码(不带\xor %

这使:

SPACE (U+0020)  20

和:

NO-BREAK SPACE (U+00A0) c2a0

神秘代码竟然是:

string.text.replace(SPACE, NON_BREAKING_SPACE);

推荐阅读