我在JavaScript中有一个文件签名,这是一个从SHA
开始并以某个值结束的字符串:
SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2,1, ...
我只想要这部分:urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2
它始终从urn
开始,我知道,但在逗号之前,值可以是任何值。
如何准确地从urn
获取子字符串直到JavaScript中的逗号?
编辑:
我尝试从,
分割字符串,但可能有很多逗号和代码变得混乱。我无法从urn
到第一个逗号得到正则表达式。在第一个逗号之后,我想停止。
答案 0 :(得分:1)
我会使用以下正则表达式:
(urn:alx:uid:[a-f0-9-]+)
或替代方案:
(urn:alx:uid:[^,]+)
在这种情况下两者都是相同的,所以选择你最了解的那个。
答案 1 :(得分:0)
使用正则表达式
string = "SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2"
var matches = string.match(/urn.*\,/);
alert(matches[1]);
答案 2 :(得分:0)
如果您知道,urn:并且逗号总是在字符串中,您可以这样做
str =“SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2,1,random”; result =“urn:”+ str.split(“,urn:”)。slice(1).join()。split(“,”)[0];
或者您可以使用正则表达式
str =“SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2,1,random”; str.match(/瓮:?+,/);