Substitui caracter

Amigos quando eu pego o diretorio atual da aplicao ele vem ai assim:

C:\Teste\Sistema

mais eu quero que ele venha assim

C:/teste/Sistema

Ou seja troque “” por “/”

Obrigado a quem puder ajudar

vou reformatar um campo de valor monetario para double.

entao para o usuario fica assim.
1.000,00

mas para o double tem que ser assim 1000.00

entao eu faço:

valorMoeda.replaceAll("[.]","").replaceAll("[,]",".");

digo o caracter que eu quero mudar no primeiro parametro, e digo o caracter que eu qeuro colocar no segundo parametro…

entao tiro o “.” e coloco “” desse resultado eu tiro a “,” e coloco o “.”, logo desse resultado eu poderia fazer N vezes essa mesma operacao…
espero ter ajudado.

lembrando que o valorMoeda é uma STRING e dwpois eu vou dar um, new Double(valorMoeda); []'s

na verdade o caracter que mesmo trocar é este …

“” por “/”

origem: C:\Teste
final : C:/teste

Faça assim:

[code]
s=“C:\teste\sistema”;

	s2=s.replaceAll("\\", "/");[/code]

sim amigo…

pega esse caminho…joga em uma String…e ao inves do replaceAll() usa so o replace()…que ai ele faz isso so uma vez…e depois seta o caminho para onde ele tem que ir…se isso nao resolver…seta ai uma parte do seu codigo para nos vermos…valeus

ainda nao deu amigo

pq minha esta assim:

String palavra = “C:\teste\teste.html”

e no seu exemplo esta assim C:\teste\teste.html

[quote=marciofermino]ainda nao deu amigo

pq minha esta assim:

String palavra = “C:\teste\teste.html”

e no seu exemplo esta assim C:\teste\teste.html

[/quote]

La dentro do replaceAll() deixa só 3 \ ("\", “/”)

Ainda nao deu da erro.

Se puder dar uma olhada


Desculpa amigo esta é imagem correta…


Seguinte amigo:

Use

string.replaceAll("\\", "/"));

Em Java, para você representar o caractere de escape, o “”, você tem que usá-lo duas vezes assim “\”.

Então quando você escrever:

String s = "C:\";

Na verdade, a String é “C:”

Amigo fiz assim .e olhe o que ele me retornou:

[code]package teste;

public class Main {

public static void main(String[] args) {
    String c = "C:\teste";        
   
    System.out.println(c.replaceAll("\\", "/"));

}

}
[/code]

eu preciso que ele me retorno assim:

C:/teste

O Retorno

C: este

e eu preciso que retorno assim

c:/teste

Como já te disseram use o replace, não o replaceAll.

String teste = "C:\Isso é\um teste"; System.out.println(teste); //Imprime: C:\Isso é\um teste teste = teste.replace("\", "/"); System.out.println(teste); //Imprime: C:/Isso é/um teste

[quote=marciofermino]Amigo fiz assim .e olhe o que ele me retornou:

String c = "C:\teste";

Cuidado: Assim como \n é uma quebra de linha, \t é um tab.

Essa sua string, no fundo foi:
“C: este”.

Em Strings, a \ é um caracter especial.
Se você criar uma string com o conteúdo “C:\Teste” tem que declarar a String assim:

String c = "C:\Teste";

\ significa apenas uma única barra.

Então amigo,. mais acontece que minha string só vem desta forma

C:\Teste

e não
C:\Teste

repetindo … ele só vem assim C:\Teste … e eu preciso usar replace e deixar assim C:/Teste

Dá onde está vindo a sua String?

Não importa dá onde ela venha, se ela está compilada junto com o programa, ou lida de fora (como um imput do usuário) o replace vai funcionar…

Entenda, quando eu coloco a String: “C:\”, a String verdeira é “C:”.
O Java representa a barra “” com duas “\”. Só isso.

Fiz um programinha para tu entender. Rode e digite na caixa de diálogo, por exemplo, o valor “C:\Teste\replace.txt”.

[code]
import javax.swing.JOptionPane;

public class TesteReplace {

public static void main(String[] args) {
    String input = JOptionPane.showInputDialog(null, "Digite o caminho:");
    String programa = "C:\TESTE\x.txt";

    System.out.printf("String do usuário: %s%n", input.replace("\", "/"));
    System.out.printf("String do programa: %s%n", programa.replace("\", "/"));
}

}[/code]

okay deixa eu explicar entao…

fiz uma rotina para pegar o caminho da aplicacao…
este rotima me devolve

C:\Teste\Aplicacao\Sistema

entendeu… minha rotina sempre esta me retornando desta forma…

eu preciso transformar para

C:/Teste/Aplicacao/Sistema

Acontece que ela nunca vai me devolver com \ apesar como vcs ja disseram o java nao ler a barra

eu preciso dar um replace mesmo … para trocar \ por /

mais nunca cou ter isso

C:\Teste\Aplicacao\Sistema

ou

C:\Teste\Aplicacao\Sistema

Afinal eu preciso exatamente… pegar uma string que esta
C:\Teste\Aplicacao\Sistema

e trocar por

C:/Teste/Aplicacao/Sistema

Meus Deus, está difícil. Eu entendi exatamente qual é o seu problema, e apontei exatamente o código que faz o que você quer.

Você pelo menos testou o programa que eu mandei?
Viu o que sai nos dois println?

Basta fazer:

suaString = suaString.replace("\", "/");

Isso não está dizendo para substituir “\” e sim “”.
O java considera \ como uma única . Ou seja isso substitui:

C:\Teste

por:

C:/Teste

Do jeito que vc quer.

Tente, depois diga se funcionou ou não.

O meu código

[code]package teste;

public class Main {

public static void main(String[] args) {
    String c = "C:\teste";        
   
    System.out.println(c.replace("\", "/"));

}

}
[/code]

A Saída:

run:
C:	este
BUILD SUCCESSFUL (total time: 0 seconds)

C: este

Entendeu… rss estou desde ontem com este problema…

acho que agora consegui explicar melhor

O interessante que na ide o \t da string “C:\teste”; fica em negrito…e desta forma .e tirou o caracter “t”