[英]Get substring before and after second space in a string via JavaScript?
[英]How to get from the string substring after second hyphen?
如果字符串中有三个或更多连字符,则需要从第二个连字符后的字符串子字符串中获取。
例如,我有以下字符串:
"someStr1 - someStr2 - someStr3 - someStr4"
如您所见,它有3个连字符,我需要从子字符串上方获取字符串:
"someStr3 - someStr4"
我知道我需要获取第二个连字符的索引位置,然后可以使用子字符串函数,但是我不知道如何检查是否有3个以上的连字符以及如何检查第二个连字符的位置。
您可以使用RegEx (?<=([^-]*-){2}).*
(?<=([^-]*-){2})
可以确保有2 -
你的比赛前
(?<= ... )
是令人反感的
[^-]*
匹配除-
任何内容,0次或更多次
-
匹配-
从字面上看
.*
匹配这两个破折号之后的任何内容。
const data = "someStr1 - someStr2 - someStr3 - someStr4"; console.log(/(?<=([^-]*-){2}).*/.exec(data)[0]);
分割字符串与阵列-
并检查是否array.length > 3
,这意味着至少三个-
串英寸 如果为true,则将index == 2
的数组连接到末尾-
并修剪字符串。
var text = "someStr1 - someStr2 - someStr3 - someStr4" var textArray = text.split('-') if(textArray.length>3){ console.log(textArray.slice(2).join('-').trim()) }
这样的事情怎么样:
var testStr = "someStr1 - someStr2 - someStr3 - someStr4";
var hyphenCount = testStr.match(/-/g).length;
if(hyphenCount > 2){
var reqStr = testStr.split('-').slice(-2).join('-');
console.log(reqStr) // logs "someStr3 - someStr4"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.