javascript怎么去掉字符串首尾的双引号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript怎么去掉字符串首尾的双引号相关的知识,希望对你有一定的参考价值。

比如字符串是这样的, var a = ""news":["b":"b1","c":"c1"]";注意 我是从服务端ajax响应回来的数据,像这样的数据怎么去掉头尾的双引号呢,在线等答案

参考技术A

    首先这个字符串有问题。

    应该是

    '"news":["b":"b1","c":"c1"]'或者是"'news':['b':'b1','c':'c1']"

    解析 JSON.parse('"news":["b":"b1","c":"c1"]')或者JSON.parse("'news':['b':'b1','c':'c1']")

本回答被提问者采纳
参考技术B a = a.substring(1,a.length - 1); 参考技术C 返回的为json ?? 用eval() 转

摆脱数组内的双引号而不将数组转换为字符串[关闭]

【中文标题】摆脱数组内的双引号而不将数组转换为字符串[关闭]【英文标题】:Getting rid of double quotes inside array without turing array into a string [closed] 【发布时间】:2014-01-17 00:45:11 【问题描述】:

我有一个数组

x=[“1”、“2”、“3”、“:*”、“:+”、“4”、“5”、“:-”、“:/”]

我试图去掉数组中的双引号。

我知道我可以使用:

x.to_s.gsub('"','')

它会输出一个字符串:

"[1, 2, 3, :*, :+, 4, 5, :-, :/]"

我想要的输出是一个数组而不是一个字符串:

[1, 2, 3, :*, :+, 4, 5, :-, :/]

有没有办法让我摆脱数组中每个元素的双引号,但仍将我的数组保留为数组?

提前致谢!

【问题讨论】:

你应该说你想将x的每个元素替换为对应的整数或符号(或类似的),而不是你想“摆脱双引号”,这并没有有道理。此外,虽然您显示了您不想要的输出,但您没有显示您想要的结果。您应该这样做(通过编辑您的答案,而不是通过添加 cmets)。一旦你在 SO 呆了一段时间,你就会掌握它的窍门。 感谢您的建议。这是我的第一篇文章。我编辑了我的问题,现在包含了我想要的输出。感谢您帮助我! 【参考方案1】:
eval x.to_s.gsub('"', '')
# => [1, 2, 3, :*, :+, 4, 5, :-, :/]

【讨论】:

+1 我稍微喜欢@Darren 的回答,但你是第一个建议使用(可怕的)eval 的人,这显然是要走的路。【参考方案2】:

这是您可以做到的一种方法:

x=["1", "2", "3", ":*", ":+", "4", "5", ":-", ":/"]
=> ["1", "2", "3", ":*", ":+", "4", "5", ":-", ":/"]

x.map|n|eval n
=> [1, 2, 3, :*, :+, 4, 5, :-, :/]

重要提示:如果您从不受信任的来源(例如用户输入)接受未经过滤的输入,eval 方法是不安全的。如果您正在制作自己的字符串数组,那么eval 很好。

【讨论】:

我也喜欢这个解决方案。谢谢!【参考方案3】:
x = ["1", "2", "3", ":*", ":+", "4", "5", ":-", ":/"]

x.map |e| e[0] == ':' ? e[1..-1].to_sym : e.to_i

x.map |e| (e =~ /^\d+$/) ? e.to_i : e[1..-1].to_sym

  # => [1, 2, 3, :*, :+, 4, 5, :-, :/] 

这当然只适用于x 的元素是带引号的整数和符号(我更喜欢使用eval)。

【讨论】:

以上是关于javascript怎么去掉字符串首尾的双引号的主要内容,如果未能解决你的问题,请参考以下文章

opencsv写入时去掉双引号

如何去掉字符串中的 双引号

vb去掉字符串中的双引号

CSV文件的双引号怎么去掉。用记事本打开有双引号,EXCEL打开又没有了,怎么样去掉这个双引号,这是个啥

vba 如何去掉返回结果两端的双引号?

spring mvc强制返回类型为json时怎么去除前后的双引号