let data = 'TRANSFER KE | PAZEMO API #20240316165004434878 | PEMINDAHAN KE 1419107737 Sdr ABDUL ROUF | 4YM1neDp6GhT9W7JYhfs120240316165004434878' // function extractStr(str) { // let obj = {} // let strToArray = str.split('|') // let arr = strToArray.slice(2, strToArray.length) // arr(data).forEach((v) => { // if (v.includes('PEMINDAHAN')) { // obj.address = v.replace(/[^\d]/g, '').trim() // obj.addressName = v.replace(/PEMINDAHAN KE\s+\d+/g, '').trim() // } // if (!v.includes('PEMINDAHAN')) { // const pattern = /[^a-zA-Z]+$/ // obj.notes = v.replace(pattern, '').trim() // } // }) // return obj // } // console.log(extractStr(data)) function extractStr(str) { const obj = {} const start = str.indexOf('PEMINDAHAN KE') const end = str.indexOf('|', start) const pemindahanStr = str.substring(start, end) obj.address = pemindahanStr.replace(/[^\d]/g, '').trim() obj.addressName = pemindahanStr.replace(/PEMINDAHAN KE\s+\d+/g, '').trim() const notesIndex = str.lastIndexOf('|') const notesStr = str.substring(notesIndex + 1).trim() const pattern = /[^a-zA-Z]+$/ obj.notes = notesStr.replace(pattern, '').trim() return obj } console.log(extractStr(data))