【问题标题】:split a string from end till second space将字符串从末尾拆分到第二个空格
【发布时间】:2021-09-26 13:31:45
【问题描述】:
我有一个字符串,我想将其拆分,以便从特定字符串中提取名称。
let str = "CN=John Mcclau - i0c00cu,OU=PET_Associates,OU=Users,OU=PET,DC=officecabs,DC=SAT-PET,Dt=com";
let splitstr= str.substr(3, str.indexOf(' -'))
console.log(splitstr)
Sample str2 = "PN=Coey PT - ljooys4,OU=PET_Associates,OU=Users,OU=PET,DC=officecabs,DC=SAT-PET,Dt=com";
我正在这样做,但它也显示“ - ”。我该如何解决?
【问题讨论】:
标签:
javascript
html
string
strsplit
【解决方案1】:
您可以拆分两次,首先在“=”上并获取第二个索引,然后在“-”上并获取第一个索引。添加trim(),您就可以开始了
const getName = str => str.split('=')[1].split('-')[0].trim();
let str = "CN=John Mcclau - i0c00cu,OU=PET_Associates,OU=Users,OU=PET,DC=officecabs,DC=SAT-PET,Dt=com";
console.log(getName(str))
str2 = "PN=Coey PT - ljooys4,OU=PET_Associates,OU=Users,OU=PET,DC=officecabs,DC=SAT-PET,Dt=com";
console.log(getName(str2))
【解决方案2】:
如果您将substr() 切换为slice(),则使用相同的开始/结束索引可以正常工作
const getName = str => str.slice(3, str.indexOf(' -'));
const str ='CN=John Mcclau - i0c00cu,OU=PET_Associates,OU=Users,OU=PET,DC=officecabs,DC=SAT-PET,Dt=com',
str2 = "PN=Coey PT - ljooys4,OU=PET_Associates,OU=Users,OU=PET,DC=officecabs,DC=SAT-PET,Dt=com";
[str,str2].forEach(s=> console.log(getName(s)))