从Node.js中的字符串中删除['']

时间:2017-07-08 15:57:26

标签: javascript node.js

我知道如何仅删除: Motor,但我该如何删除多项内容?

我必须删除3件事,两件['& [和空格]

我打印时的字符串是这样的:

非常感谢你!

6 个答案:

答案 0 :(得分:1)

你可以使用切片功能,即使用

var s1 = "this is a test string.";
s1.slice(3, s1.length-3);

或者您可以使用正则表达式替换额外的字符串([,],',......)

s1.replace(^\[\s'(.*)'\s\]$/, '$1');

答案 1 :(得分:0)

您可以使用RegEx删除大括号和引号。

var newstring = oldstring.replace(/[\[\]']/gi, '');

要删除空格,请使用newstring = newstring.trim();

答案 2 :(得分:0)

您可以使用正则表达式并将第一个捕获组(第一轮括号的内部)用作$1函数中的string.replace,例如:

"[ 'Chroma 2 Case' ]".replace(/^\[\s*'(.*)'\s*\]$/, '$1')

解释:https://regex101.com/r/TGWCVn/1

P.S。:也适用于带有[ 'Chroma 2\' Case' ]

等转义撇号的字符串

修改:如果需要支持各种报价:

'["StatTrak™ R8 Revolver | Crimson Web (Battle-Scarred)"]'.replace(
  /^\[\s*['"](.*)['"]\s*\]$/,
  '$1'
)

edit2 :如果你有一个数组而不是字符串,那就得到第一项:

["StatTrak™ R8 Revolver | Crimson Web (Battle-Scarred)"][0]

答案 3 :(得分:0)

您可以拆分引号,前提是您不再期待字符串

 const test = "[ \'Chroma 2 Case\' ]"
 test.split('\'')[1]

演示于:https://repl.it/JTIx/1

答案 4 :(得分:0)

对任何带正则表达式的字符串使用replace方法。在你的情况下:

let originalString = "[ 'Chroma 2 Case' ]"; 
let newString = originalString.replace(/[\[\]\'\s]/g, '');

通常你会在字符串上使用trim()来删除空格,但是因为你已经在使用[]'的正则表达式,所以{{匹配正则表达式中的1}}也会处理任何空格。

答案 5 :(得分:0)

我使用了.toString(),现在它可以工作了。谢谢大家!