javascript - 从字符串 javascript 中删除选项卡 ('\t' )

标签 javascript string parsing

如何从 JavaScript 上的任何字符串中删除制表符?

当我得到我的字符串时,它作为一个缓冲区出现,如下所示:

<Buffer 0d 0a 3c 25 72 65 73 70 6f 6e 73 65 2e 73 74 61 74 75 73 20...>

 function translate(data) {

  var content = data.toString().split('\r\n');

  }

然后我执行以下操作...

例如,我有这些行:

 '\t\t var session = request.getSession();'
 '\t\t session["user"] = {};'

我只是希望它是:

'var session = request.getSession();'
'session["user"] = {};'

顺便说一句,当我这样做时:

content=String(content).replace('\t','');

这就是为什么我需要 String(...) 构造函数。

如果我不使用它,我会得到该对象没有方法替换。

假设内容是我想要解析的字符串,它会按字母解析它,意思是:

'\t session'

变成这样:

's','e','s','s','i','o','n'

为什么?

最佳答案

问题可能在于您如何定义内容

如果内容=='\t session '

`content=String(content).replace('\t','');`

暗示content=='session'

顺便说一句,String(...) 是不必要的。

`content=content.replace('\t','');`

达到相同的结果。

编辑:

String(array) 无法按您的预期工作。

您必须在拆分字符串之前执行替换,或者分别对数组的每个元素执行替换。

而不是

var content = data.toString().split('\r\n');
content=String(content).replace('\t','');

尝试

var content = data.toString().replace('\t', '').split('\r\n');

请注意,replace('\t', '') 将仅替换第一次出现的 \t。要进行全局替换,请使用 Alex K. 建议的正则表达式:

var content = data.toString().replace(/\t/g, '').split('\r\n');

关于javascript - 从字符串 javascript 中删除选项卡 ('\t' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018015/

相关文章:

c++ - 如何将 unicode 字符与 boost::spirit 匹配?

mysql - BNF规则的解释

C# 从字符串解析 Vector2

javascript - Sequelize 获取上次更新或创造值(value)

javascript - Angularjs 在没有 ng-view 的情况下使用 $routeProvider

c++ - 我写了一个函数来删除句子中的空格,但它只在空格前取字符而不考虑整个句子

c++ - 在 GCC 中关闭 COW

javascript - 查询对象属性适用于除 IE 10 之外的所有浏览器

javascript - 将日期转换为用户友好格式时出错

c++ - 将带有重音符号的 Unicode 字母转换为 ASCII/UTF8