簡體   English   中英

從字符串中提取文本直到倒數第二個出現

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM