Tirar preposições com replace( )
Olá, pessoal, estou tentanto usar o replace para remover as preposições do meu input "de, do, da". Alguém pode me ajudar com a sintaxe? Só consegui fazer para o "de".
function converter() { var autor = document.getElementById(''''autor'''').value var namesSplit = autor.replace(/de/g, "").split(" ").slice(0, -1) // transforma em Array, parte e exclui a última com slice. Lembhrar de remover as outras preposições var lastName = autor.toUpperCase().split(" ").pop() var res = document.querySelector(''''div#res'''') res.innerHTML = `$, ` // refere-se ao último nome em maiúsculo function primeiraLetra(element, index, array) { // refere-se aos primeiros nomes abreviados res.innerHTML += element.toUpperCase().charAt(0) if (element.length > 1 ) { res.innerHTML += ". " } } namesSplit.forEach(primeiraLetra); </script>
Gabriel
Curtidas 0
Melhor post
Vólus Ltda
21/08/2019
Boa tarde Gabriel, tudo bem?
Cole o código abaixo em sua aplicação e depois use o replaceAll no lugar do replace.
String.prototype.replaceAll = String.prototype.replaceAll || function(needle, replacement) {
return this.split(needle).join(replacement);
}
Cole o código abaixo em sua aplicação e depois use o replaceAll no lugar do replace.
String.prototype.replaceAll = String.prototype.replaceAll || function(needle, replacement) {
return this.split(needle).join(replacement);
}
GOSTEI 2
Mais Respostas
Gérson
03/08/2019
Olá, pessoal, estou tentanto usar o replace para remover as preposições do meu input "de, do, da". Alguém pode me ajudar com a sintaxe? Só consegui fazer para o "de".
function converter() { var autor = document.getElementById(''''autor'''').value var namesSplit = autor.replace(/de/g, "").split(" ").slice(0, -1) // transforma em Array, parte e exclui a última com slice. Lembhrar de remover as outras preposições var lastName = autor.toUpperCase().split(" ").pop() var res = document.querySelector(''''div#res'''') res.innerHTML = `$, ` // refere-se ao último nome em maiúsculo function primeiraLetra(element, index, array) { // refere-se aos primeiros nomes abreviados res.innerHTML += element.toUpperCase().charAt(0) if (element.length > 1 ) { res.innerHTML += ". " } } namesSplit.forEach(primeiraLetra); </script>
Tenta colocar os replace um apos o outro. Exemplo:
src/texto.js
>>>var texto = 'Bom dia, gostaria de uma ajuda, pois o texto do input, não esta igual ao da variavel'
>>>console.log(texto)
>>>texto = texto.replace(' de ',' ')
>>>console.log(texto)
>>>texto = texto.replace(' do ',' ')
>>>console.log(texto)
>>>texto = texto.replace(' da ',' ')
>>>console.log(texto)
Com esse exemplo da para visualizar, os trechos sendo removidos um apos o outro.
Acredito que isso resolve sua situação.
GOSTEI 0
Sadasd
03/08/2019
Amigo, você pode usar um if com o método startsWith() pra fazer isso, é um método que retorna um booleano se a string começar com o valor especificado, exemplo:
var pro = "programador"; if (pro.startsWith("de") || pro.startsWith("da") || pro.startsWith("do")){ pro = pro.split().slice(2, pro.length); pro = pro.toString(); }
GOSTEI 0
Vólus Ltda
03/08/2019
Olá, pessoal, estou tentanto usar o replace para remover as preposições do meu input "de, do, da". Alguém pode me ajudar com a sintaxe? Só consegui fazer para o "de".
function converter() { var autor = document.getElementById(''''autor'''').value var namesSplit = autor.replace(/de/g, "").split(" ").slice(0, -1) // transforma em Array, parte e exclui a última com slice. Lembhrar de remover as outras preposições var lastName = autor.toUpperCase().split(" ").pop() var res = document.querySelector(''''div#res'''') res.innerHTML = `$, ` // refere-se ao último nome em maiúsculo function primeiraLetra(element, index, array) { // refere-se aos primeiros nomes abreviados res.innerHTML += element.toUpperCase().charAt(0) if (element.length > 1 ) { res.innerHTML += ". " } } namesSplit.forEach(primeiraLetra); </script>
GOSTEI 0