[英]Extract text until second to last occurrence from string
如何從字符串的開頭提取文本,直到(不包括)倒數第二次出現字符(在這種情況下為“:”)? 最好不使用正則表達式。
例子:
“urn:riv:intygsbestallning:certificate:order:RequestPerformerForAssessmentResponder:1”應該變成“RequestPerformerForAssessmentResponder:1”
“urn:riv:itinfra:tp:PingResponder:1”應該變成“PingResponder:1”
使用split
function 您可以解析字符串,返回與split
參數中的字符串分隔的標記數組,稍后您可以連接數組中的最后兩項
let x = "urn:riv:intygsbestallning:certificate:order:RequestPerformerForAssessmentResponder:1"; let result = x.split(":"); let yourTextResult = `${result[result.length-2]}:${result[result.length-1]}`; console.log(yourTextResult );
const data1 = "urn:riv:intygsbestallning:certificate:order:RequestPerformerForAssessmentResponder:1"; const data2 = "urn:riv:itinfra:tp:PingResponder:1" const arr = data1.split(':'); console.log(arr.splice(arr.length-2,arr.length).join(':'))
str = 'urn:riv:intygsbestallning:certificate:order:RequestPerformerForAssessmentResponder:1' split_array = str.split(':') ans = split_array.splice(-2).join(':') console.log('ans', ans) cut_off_part = split_array.join(':') + ':' console.log('cut_off part', cut_off_part)
另一種方法:
str = 'urn:riv:intygsbestallning:certificate:order:RequestPerformerForAssessmentResponder:1' ans = str.split(':').splice(-2).join(':') console.log("answer", ans) cutoff_part = str.substr(0, str.length - ans.length) console.log("cut_off_part", cutoff_part)
我認為這應該可以工作,我很確定它不是最好的代碼,但我相信你可以以它為基礎改進它,我希望它對你有用
var mainString = "urn:riv:itinfra:tp:PingResponder:1"
var inverseString = reverseString(mainString)
var result = getFinalString(inverseString)
console.log(result)
function reverseString(str){
return str.split('').reverse().join('')
}
function getFinalString(str){
var stringAux = str.split(':')
if(stringAux.length>=2){
finalString=reverseString(stringAux[0]+':'+stringAux[1])
return finalString
}
return false
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.