如何从 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/