Tirar preposições com replace( )

03/08/2019

16

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>
Responder

Post mais votado

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);
}
Responder

Mais Posts

04/08/2019

Gérson

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.
Responder

04/08/2019

Daniel Melo

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();
}
Responder

21/08/2019

Volus Ltda

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>
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar