在Javascript中提取以某个单词开头的字符串部分
我有以下字符串在Javascript中提取以某个单词开头的字符串部分,javascript,html,Javascript,Html,我有以下字符串 "sis":4,"sct":15,"ssu":"89c4eef0-3a0d-47ae-a97f-42adafa7cf8f","ssv":384,"siw":96554,"scx":1049, 我需要在“ssu”之后获取字符串:“结果应该是89c4eef0-3a0d-47ae-a97f-42adafa7cf8f。我如何在Javascript中实现它,但非常简单?我正在考虑在“ssu”之后收集36个字符:” 一种解决方案是使用以下正则表达式: /\"ssu\":\"([\w-]+)
"sis":4,"sct":15,"ssu":"89c4eef0-3a0d-47ae-a97f-42adafa7cf8f","ssv":384,"siw":96554,"scx":1049,
我需要在“ssu”之后获取字符串:“结果应该是89c4eef0-3a0d-47ae-a97f-42adafa7cf8f。我如何在Javascript中实现它,但非常简单?我正在考虑在“ssu”之后收集36个字符:” 一种解决方案是使用以下正则表达式:
/\"ssu\":\"([\w-]+)\"/
这种模式基本上意味着:
([\w-]+)
的guid
这方面的一个工作示例是:
const str=`“sis”:4,“sct”:15,“ssu”:“89c4eef0-3a0d-47ae-a97f-42adafa7cf8f”,“ssv”:384,“siw”:96554,“scx”:1049`
常量值=str.match(/\“ssu\”:\“([\w-]+)\”/)[1]
console.log(值)代码>使用此正则表达式:/(?!“ssu”:)(\w+-)+\w+/
const str='“sis”:4,“sct”:15,“ssu”:“89c4eef0-3a0d-47ae-a97f-42adafa7cf8f”,“ssv”:384,“siw”:96554,“scx”:1049';
常数re=/(?!“ssu”:“(\w+-)+\w+/;
常数res=str.match(re)[0];
控制台日志(res)代码>您可以使用正则表达式。
输出:数组[“89c4eef0-3a0d-47ae-a97f-42adafa7cf8f”]您可以构建一个有效字符串并对其进行解析,然后获得想要的属性ssu
var string='“sis”:4,“sct”:15,“ssu”:“89c4eef0-3a0d-47ae-a97f-42adafa7cf8f”,“ssv”:384,“siw”:96554,“scx”:1049',
object=JSON.parse(`{${string.slice(0,-1)}}}`),//用于删除最后一个逗号的切片
ssu=object.ssu;
控制台日志(ssu)代码>看起来几乎像一个JSON字符串
因此,只需稍作修改,就可以将其解析为一个对象
var str = '"sis":4,"sct":15,"ssu":"89c4eef0-3a0d-47ae-a97f-42adafa7cf8f","ssv":384,"siw":96554,"scx":1049, ';
var obj = JSON.parse('{'+str.replace(/[, ]+$/,'')+'}');
console.log(obj.ssu)
你想从json数据中提取一个值吗?这看起来很像json,所以我只需删除后面的逗号,将字符串用花括号括起来并使用JSON.parse
。如果它是一个字符串,您可以在字符串中有两个或多个ssu参数的情况下使用它。如何提取第二个参数?@MSSHD刚刚更新了答案,并提供了一个关于如何实现的演示-这有帮助吗?
var str = '"sis":4,"sct":15,"ssu":"89c4eef0-3a0d-47ae-a97f-42adafa7cf8f","ssv":384,"siw":96554,"scx":1049, ';
var obj = JSON.parse('{'+str.replace(/[, ]+$/,'')+'}');
console.log(obj.ssu)