[Resolvido] Usar variavel char em um metodo replace

12 respostas
N

Como eu faço para uma uma variavel char em um metodo replace?
O que eu preciso é o seguinte:
eu pego uma string de um campo texto e jogo ela numa variavel string
depois eu pego o ultimo caractere dessa string como um char

agora eu preciso usar esse caractere no metodo .replace exemplo variavelstring.replace(variavelcaracter, “”);

seria basicamente isso

desde ja agradeço

12 Respostas

drsmachado

NicoBondarenco:
Como eu faço para uma uma variavel char em um metodo replace?
O que eu preciso é o seguinte:
eu pego uma string de um campo texto e jogo ela numa variavel string
depois eu pego o ultimo caractere dessa string como um char

agora eu preciso usar esse caractere no metodo .replace exemplo variavelstring.replace(variavelcaracter, “”);

seria basicamente isso

desde ja agradeço


É sério isso?
Não encontrou nenhum exemplo na pesquisa feita no guj? No google? Na documentação?

N

Eu encontrei varios exemplos de .replace mas nenhum dos que eu achei era do jeito que eu preciso, eu achei mostrando no caso de aspas e barra no metodo replace, no caso de uma formatação de valor R$ pra joga somente o numro no BD, mas de uma variavel como parametro no metodo replace eu não achei, me desculpe.

E no google aparece mais expicação do que é o metodo do que algum exemplo mesmo, e pra não falar que eu não procurei fiz a busca de varios modos diferentes, e olhei numas 30 paginas ou mais.

drsmachado

E nenhum deles te deu capacidade para interpretar e alterar da forma que você precisa?
Até onde sei, qualquer char (‘A’, ‘x’, ‘1’) pode ser representado como uma String (“A”, “x”, “1”).
Além do que, se você pesquisar, a documentação diz como usar esse método

N

Desculpa colega, mas acho que voce não esta entendendo a minha duvida...
Estou postando meu codigo pra ver se esclarece, ou se estou fazendo alguma coisa errada, ou se não é possivel o que eu estou tentando fazer.
O que eu preciso é usar o char da variavel ultima no replace
ai estao apenas com o "!" e o "?", mas tem outros caracteres, e eu não quero ter que fazer um replace pra cada um, por isso de eu querer usar a variavel "ultima" no lugar

Obs.: eu sei que tem como fazer de outros modos, mas eu queria saber se é possivel fazer desse modo.

String conteudo = txTeste.getText();
        
        if (conteudo.charAt(conteudo.length())=='!' || conteudo.charAt(conteudo.length())=='?'){
            
            char ultima = conteudo.charAt(conteudo.length()); 
            conteudo = conteudo.replace(ultima, ""); //o problema esta nesta linha
        }
drsmachado
NicoBondarenco:
Desculpa colega, mas acho que voce não esta entendendo a minha duvida... Estou postando meu codigo pra ver se esclarece, ou se estou fazendo alguma coisa errada, ou se não é possivel o que eu estou tentando fazer. O que eu preciso é usar o char da variavel ultima no replace ai estao apenas com o "!" e o "?", mas tem outros caracteres, e eu não quero ter que fazer um replace pra cada um, por isso de eu querer usar a variavel "ultima" no lugar

Obs.: eu sei que tem como fazer de outros modos, mas eu queria saber se é possivel fazer desse modo.

String conteudo = txTeste.getText();
        
        if (conteudo.charAt(conteudo.length())=='!' || conteudo.charAt(conteudo.length())=='?'){
            
            char ultima = conteudo.charAt(conteudo.length()); 
            conteudo = conteudo.replace(ultima, ""); //o problema esta nesta linha
        }
Não, não desculpo. Se você vai perguntar, tenha certeza de ser o mais claro possível. Se for necessário, leia e releia, altere o que escreveu até ter certeza que é exatamente o que quer dizer. Releia teu tópico original e me diga se você entende isso que está perguntando? Até por que
NicoBondarenco:
Como eu faço para uma uma variavel char em um metodo replace?
me diz que, no mínimo, você esqueceu de alguma palavra ali. Isso me dá várias possibilidades de interpretação. Além do que, neste caso, você nem precisa do replace. Está tentando usar de teimoso. O substring já resolve a coisa. Não quer apenas suprimir o último caractere? Então faz lá
String semOUltimoCaractere = stringRecebidaComTodosOsCaracteres.substring(0, stringRecebidaComTodosOsCaracteres.length);
É a mesma coisa.
S
NicoBondarenco:
Desculpa colega, mas acho que voce não esta entendendo a minha duvida... Estou postando meu codigo pra ver se esclarece, ou se estou fazendo alguma coisa errada, ou se não é possivel o que eu estou tentando fazer. O que eu preciso é usar o char da variavel ultima no replace ai estao apenas com o "!" e o "?", mas tem outros caracteres, e eu não quero ter que fazer um replace pra cada um, por isso de eu querer usar a variavel "ultima" no lugar

Obs.: eu sei que tem como fazer de outros modos, mas eu queria saber se é possivel fazer desse modo.

String conteudo = txTeste.getText();
        
        if (conteudo.charAt(conteudo.length())=='!' || conteudo.charAt(conteudo.length())=='?'){
            
            char ultima = conteudo.charAt(conteudo.length()); 
            conteudo = conteudo.replace(ultima, ""); //o problema esta nesta linha
        }

Ja pensou em fazer assim:

String meuTexto = "Eu estou Aqui!";
		System.out.println(meuTexto);
		if(meuTexto.charAt(meuTexto.length() - 1)=='!' | meuTexto.charAt(meuTexto.length()  - 1)=='?') {
			meuTexto = meuTexto.substring(0, meuTexto.length() - 1);
		}
		System.out.println(meuTexto);
N

Caso não tenha percebido caro drsmachado, ainda sou estudante e como eu disse, sei que tem outros modos de serem feitos a substituição do ultimo caractere.
Mas e se não fosse o ultimo? e se fosse o caso no meio de uma string, ou um caso bem especifico que fosse necessario isso?
Por isso de eu querer saber se pode ser feito como esta no codigo, e por mera vontade de conhecimento.
e por conta de uma palavra que esta faltando ou errada você poderia ver o assunto “Usar variavel char em um metodo replace”.
Ainda é meu primeiro semestre com java e não sei muita coisa e sua estupidez com as palavras não se faz necessaria.

Mas de qualquer modo muito obrigado pela atenção e pelo esclarecimento.

S

NicoBondarenco:
Caso não tenha percebido caro drsmachado, ainda sou estudante e como eu disse, sei que tem outros modos de serem feitos a substituição do ultimo caractere.
Mas e se não fosse o ultimo? e se fosse o caso no meio de uma string, ou um caso bem especifico que fosse necessario isso?
Por isso de eu querer saber se pode ser feito como esta no codigo, e por mera vontade de conhecimento.
e por conta de uma palavra que esta faltando ou errada você poderia ver o assunto “Usar variavel char em um metodo replace”.
Ainda é meu primeiro semestre com java e não sei muita coisa e sua estupidez com as palavras não se faz necessaria.

Mas de qualquer modo muito obrigado pela atenção e pelo esclarecimento.

Só uma pergunta, aquele último código que você postou não esta dando nenhum erro?

N

Esta sim, na ultima linha onde eu passo a variavel “ultima” como parametro no metodo replace.
Por isso que eu quero saber se é possivel colocar uma variavel lá, ou se tenho que fazer alguma coisa antes.

S

NicoBondarenco:
Esta sim, na ultima linha onde eu passo a variavel “ultima” como parametro no metodo replace.
Por isso que eu quero saber se é possivel colocar uma variavel lá, ou se tenho que fazer alguma coisa antes.

Alguns chamariam isso de gambiarra, eu chamo de solução :smiley:

conteudo = conteudo.replace("" + ultima, ""); //o problema esta nesta linha

O problema era que o metodo replace não aceitava um char e uma String, para contornar essa problema, passei a variavel ultima como uma String (após o uso de aspas, tudo o que vem a seguir se torna String).

Exemplo:

System.out.println(1 + 2 + "" + 1 + 2);

Vai imprimir 312.

1 + 2 = 3
Mas após as aspas, todo resto virou String por tanto “1” + “2” = “12”.

drsmachado
Sem_Nome:
NicoBondarenco:
Esta sim, na ultima linha onde eu passo a variavel "ultima" como parametro no metodo replace. Por isso que eu quero saber se é possivel colocar uma variavel lá, ou se tenho que fazer alguma coisa antes.

Alguns chamariam isso de gambiarra, eu chamo de solução :D

conteudo = conteudo.replace("" + ultima, ""); //o problema esta nesta linha
Isso é, efetivamente, gambiarra. 1 - O método replace aceita sobrecarga, com parâmetros String, String e char, char. Acontece que com char ele não pode fazer
conteudo = conteudo.replace('a', '');
[/quote]
Pois char é um tipo primitivo e '' = null, como sabemos, tipos primitivos não podem ser anulados.
A única forma de fazer isso que o camarada delicado que abriu o tópico quer é usando Strings, mas, pelo visto, ele tem algum problema com isto.
O que você fez, sem_nome, é equivalente a
[code]
String ultima = "?";
conteudo = conteudo.replace(ultima, "");
. Se resolve? Claro que sim.

Mas, se o autor do tópico for um pouquinho só coerente com o que diz, não vai aceitar minha sugestão. Caso ele faça isso, ele estará admitindo ser incapaz de pesquisar, ler e interpretar, haja visto que qualquer exemplo furreca permitiria compreender e fazer tal alteração.
E qualquer moleque de 10 anos teria feito isso.

N

Valeu mesmo Sem_Nome, deu certo aqui!!!

Sua solução é o que meu professor chama de POG
(programação orientada a gambiarra)
kkkkkkkkkkkkkkkkkkkkkk

Criado 6 de agosto de 2012
Ultima resposta 6 de ago. de 2012
Respostas 12
Participantes 3