在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-]+)\"/
这种模式基本上意味着:

  • \“ssu\”:\”,从“ssu”的第一个实例开始搜索:

  • ([\w-]+),收集由一个或多个字母数字字符\w和hypens组成的“组”-

  • \,在小组的末尾找一个

  • 使用组允许您通过您感兴趣的方法提取匹配模式的一部分,在您的情况下,该方法是对应于
    ([\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)