我正在处理由于某种原因已突变为单字符数组的数据(一个长字符串)。这是一个例子:
['f', 'o', 'o', ' ', 't', 'e', 's','t', ' ', 'b', 'a', 'r']
我需要执行一些正则表达式,并以此作为普通字符串来搜索/替换。所以我需要将其转换为普通
'foo test bar'
...对此进行一些更改,例如将“ test”替换为“ hi”,然后将其恢复为以前的状态:
['f', 'o', 'o', ' ', 'h', 'i' ' ', 'b', 'a', 'r']
我想来自C ++背景,我想将此char
的字符串视为char*
,而无需进行昂贵的操作。
答案 0 :(得分:0)
您可以join
将数组转换为字符串。 replace
一词test
。然后使用Array.from()
const array = ['f', 'o', 'o', ' ', 't', 'e', 's', 't', ' ', 'b', 'a', 'r'],
output = Array.from(array.join('').replace('test', 'hi'));
console.log(output)
答案 1 :(得分:0)
您可以使用 .join()将数组转换为字符串,例如:
let str =['f', 'o', 'o', ' ', 't', 'e', 's','t', ' ', 'b', 'a', 'r'].join(" "));
//return 'foo test bar'
然后用 .replace 替换String,例如:
str.replace('test','hi');
您还使用 .split(“”)将字符串转换为数组,例如:
console.log('foo test bar'..split(""));
//return ['f', 'o', 'o', ' ', 'h', 'i' ' ', 'b', 'a', 'r']