Para mais de um caractere: char [] c = s.toCharArray ();
67
Você pode usar a função .charAt (int) com Strings para recuperar o valor de char em qualquer índice. Se você deseja converter a String em uma matriz de caracteres, tente chamar .toCharArray () na String.
String g ="line";char c = g.charAt(0);// returns 'l'char[] c_arr = g.toCharArray();// returns a length 4 char array ['l','i','n','e']
Mas isso vai se transformar "123"em '1', é que o que você está depois?
aioobe
1
Eu não pretendia usar especificamente "123". Eu estava apenas usando como exemplo. Para char, seria um exemplo diferente como "p", pois um char é um caractere único, não vários.
Yokhen 21/10
1
a função ToCharArray () retorna uma matriz de caracteres no caso de você querer dividir o string em caracteres
Genjuro
8
Se a string tiver 1 caractere, pegue esse caractere . Se a cadeia não tiver 1 caractere, ela não poderá ser analisada em um caractere.
A maneira mais simples de converter um Stringem um charé usando charAt():
String stringAns="hello";char charAns=stringAns.charAt(0);//Gives You 'h'char charAns=stringAns.charAt(1);//Gives You 'e'char charAns=stringAns.charAt(2);//Gives You 'l'char charAns=stringAns.charAt(3);//Gives You 'l'char charAns=stringAns.charAt(4);//Gives You 'o'char charAns=stringAns.charAt(5);//Gives You:: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 5
Talvez eu esteja um pouco atrasado, mas achei útil, entenda cadena como String e deixe o título da coluna como Converter em. :-)
ATUALIZAÇÃO: Então, finalmente recebi de volta a minha senha, atualizei com texto copiável para que outras pessoas possam copiar e colar como sempre, e para outras que possam obter a indexação dos dados (se houver). :-) Feliz bigode de novembro.
Por que polegares para baixo? Isso realmente responder à pergunta, assim como você pode verificar como analisar em outros tipos
Davide
4
@Davide Provavelmente porque as postagens não devem incluir as informações importantes como imagem quando podem ser postadas como texto. As imagens não podem ser pesquisadas e copiadas / coladas, geralmente são bloqueadas e não podem ser lidas por usuários que dependem de leitores de tela.
Modus Tollens
Por favor edite seu post e mostrar o texto real em vez de screenshots. Outros não podem copiar e colar de suas imagens. Veja aqui para detalhes. Obrigado.
Pang
2
Eu concordo com a pergunta @Davide - "Por que curtir?". Acredito que isso fará com que o usuário que conseguiu isso não contribua com o stackoverflow no futuro e acredito que esse não deve ser o caso. Na minha perspectiva, "polegares para baixo" nunca devem ser usados! É negativo em sua essência e não traz nenhum valor.
Marco Marco
Tem certeza de que char --> StringGoesHere.parseFloat(int position);está correto? Honestamente, não verifiquei, mas tenho Stringquase certeza de que não tem um parseFloatmétodo e, mesmo que exista, não vejo por que isso seria o que você estaria tentando fazer lá.
BeUndead 18/03/19
3
Se você deseja analisar uma String em um caractere, enquanto o objeto String representa mais de um caractere, basta usar a seguinte expressão:
char c = (char) Integer.parseInt (s) . Onde s é igual à String que você deseja analisar. A maioria das pessoas esquece que os caracteres representam um número de 16 bits e, portanto, podem fazer parte de qualquer expressão numérica :)
Isto está errado. Analisar uma string em um número significa que o número foi convertido em uma string e queremos recuperar o número. Exatamente da mesma maneira, analisar um caractere de uma sequência de caracteres significa que o caractere foi convertido em uma sequência de caracteres e queremos que o caractere volte. Usar um número intermediário não é o que o OP perguntou.
Vlad
@ Vlad Ele pediu um número, porque é isso que charé, assim como inte double. Ele até deu o exemplo String"123". e quem disse que você não pode converter a charpara a Stringcom um comprimento maior que um e vice-versa? Tente você mesmo com char c = 123: String.valueOf((int) c).equals("123")retorna true.
Adam Martinu
1
Desculpe, mas tudo se resume aos números, esse não é o ponto da questão. Você pode dar uma olhada na resposta aceita, que claramente exclui um intermediário int. Para o seu exemplo, você precisava converter para int, o que significa que você está trabalhando não com o original char, mas com um int, que de alguma forma corresponde ao original char.
Vlad
2
import java.io.*;class ss1
{publicstaticvoid main(String args[]){String a =newString("sample");System.out.println("Result: ");for(int i=0;i<a.length();i++){System.out.println(a.charAt(i));}}}
Você pode usar a função .charAt (int) com Strings para recuperar o valor de char em qualquer índice. Se você deseja converter a String em uma matriz de caracteres, tente chamar .toCharArray () na String. Se a seqüência de caracteres tiver 1 caractere, pegue esse caractere chamando .charAt (0) (ou .First () em C #).
Respostas:
Se sua string contém exatamente um caractere, a maneira mais simples de convertê-la em um caractere é provavelmente chamar o
charAt
método:fonte
Você pode usar a função .charAt (int) com Strings para recuperar o valor de char em qualquer índice. Se você deseja converter a String em uma matriz de caracteres, tente chamar .toCharArray () na String.
fonte
você pode usar este truque:
fonte
"123"
em'1'
, é que o que você está depois?Se a string tiver 1 caractere, pegue esse caractere . Se a cadeia não tiver 1 caractere, ela não poderá ser analisada em um caractere.
fonte
ou Se você quiser individualmente, poderá
fonte
org.apache.commons.lang.StringEscapeUtils . (un) Os métodos EscapeJava são provavelmente o que você deseja
Resposta de brainzzy não meu:
https://stackoverflow.com/a/8736043/1130448
fonte
A maneira mais simples de converter um
String
em umchar
é usandocharAt()
:Aqui está um script completo:
fonte
Talvez eu esteja um pouco atrasado, mas achei útil, entenda cadena como String e deixe o título da coluna como Converter em. :-)
ATUALIZAÇÃO: Então, finalmente recebi de volta a minha senha, atualizei com texto copiável para que outras pessoas possam copiar e colar como sempre, e para outras que possam obter a indexação dos dados (se houver). :-) Feliz bigode de novembro.
fonte
char --> StringGoesHere.parseFloat(int position);
está correto? Honestamente, não verifiquei, mas tenhoString
quase certeza de que não tem umparseFloat
método e, mesmo que exista, não vejo por que isso seria o que você estaria tentando fazer lá.Se você deseja analisar uma String em um caractere, enquanto o objeto String representa mais de um caractere, basta usar a seguinte expressão: char c = (char) Integer.parseInt (s) . Onde s é igual à String que você deseja analisar. A maioria das pessoas esquece que os caracteres representam um número de 16 bits e, portanto, podem fazer parte de qualquer expressão numérica :)
fonte
char
é, assim comoint
edouble
. Ele até deu o exemploString
"123". e quem disse que você não pode converter achar
para aString
com um comprimento maior que um e vice-versa? Tente você mesmo comchar c = 123
:String.valueOf((int) c).equals("123")
retornatrue
.int
. Para o seu exemplo, você precisava converter paraint
, o que significa que você está trabalhando não com o originalchar
, mas com umint
, que de alguma forma corresponde ao originalchar
.fonte
Você pode fazer o seguinte:
fonte
String str = "abc"; char[] char_str = str.toCharArray();
Você pode simplesmente usar o
toCharArray()
para converter uma string em array de caracteres:fonte
Uma maneira de ensaio:
Para Saída, consulte este link: Clique aqui
Obrigado :-)
fonte
Você pode usar a função .charAt (int) com Strings para recuperar o valor de char em qualquer índice. Se você deseja converter a String em uma matriz de caracteres, tente chamar .toCharArray () na String. Se a seqüência de caracteres tiver 1 caractere, pegue esse caractere chamando .charAt (0) (ou .First () em C #).
fonte