así que tengo una cadena como esta
accept : menerima accuse : menuduh achieve : mencapai acquire : memperoleh adapt : menyesuaikan add : menambahkany cómo eliminar la segunda palabra usando: como separador, y hacer que el resultado sea así.
accept accuse achieve acquire adapt addGracias
Una expresión regular funcionará.
const rx = /\s+:.*$/mg str.replace(rx, '')https://regex101.com/r/sV2TnQ/1
La bandera g reemplazará múltiples ocurrencias. La bandera m permite que $ coincida con el final de la línea o del documento.
Así que 'espacios', 'dos puntos' y 'todo hasta el final de la línea'
intenta así,
const str = 'accept : menerima' console.log(str.slice(0,str.indexOf(":")))Puede crear un método, que tomará una cadena como entrada y devolverá una nueva cadena.
const txt = 'accept : menerima' function getCroppedString(str){ return str.slice(0,str.indexOf(":")); } getCroppedString(txt) console.log(getCroppedString(txt)); const str = 'accept : menerima' console.log(str.slice(0,str.indexOf(":")))Un enfoque diferente para una expresión regular sería recorrer las líneas y dividir el : usando un mapa.
const string = `accept : menerima accuse : menuduh achieve : mencapai acquire : memperoleh adapt : menyesuaikan add : menambahkan`; const lines = string.split("\n") .map((line) => line.split(" : ")[0]) // Optionally if you would like to return the output as a single string .join("\n"); console.log(lines);