Eu string = "name";
quero converter em uma matriz de string. Como eu faço isso? Existe alguma função Java integrada? Eu posso fazer isso manualmente, mas estou procurando por uma função Java integrada.
Eu quero um array onde cada caractere da string será uma string. como char 'n' agora será a string "n" armazenada em um array.
String[] ary = new String[] { "name" };
, de que operação você precisa? divisão em personagens, por exemplo?Respostas:
Para começar sua tarefa,
String.split
divide as strings em uma expressão regular e essa expressão pode ser uma string vazia:Rende a matriz:
Livrar-se da primeira entrada vazia é deixado como um exercício para o leitor :-)
Nota: No Java 8, o primeiro elemento vazio não está mais incluído.
fonte
A segunda linha aloca uma matriz String com o comprimento de 1. Observe que você não precisa especificar um comprimento, como:
em vez disso, o comprimento é determinado pelo número de elementos no inicializador. Usando
cria uma matriz com comprimento de 3.
fonte
Supondo que você realmente deseja uma matriz de strings de caractere único (não um
char[]
ouCharacter[]
)1. Usando um regex:
O lookahead negativo de largura zero evita a correspondência de padrões no início da entrada, para que você não obtenha uma string vazia inicial.
2. Usando Goiaba :
fonte
Acho que simplesmente não há necessidade disso, pois não ficará mais simples do que
Claro, se você insistir, você pode escrever:
[Editar] Se desejar Strings de uma letra, você pode usar:
Infelizmente s [0] estará vazio, mas depois disso as letras n, a, m, e virão. Se isso for um problema, você pode usar, por exemplo, System.arrayCopy para se livrar da primeira entrada do array.
fonte
fonte
No java 8, existe um método com o qual você pode fazer isso: toCharArray ():
Isso resulta na seguinte matriz:
fonte
String.charAt(0)
nas strings de caractere único desnecessariamente! ;)Matriz de strings = matriz de caracteres?
Ou você tem uma string com várias palavras, cada uma das quais deve ser um elemento do array?
String[] array = yourString.split(wordSeparator);
fonte
Basta usar o
.toCharArray()
método em Java:Isso deve funcionar bem no Java 8.
fonte
Converta em tipo
Char
?http://www.javadb.com/convert-string-to-character-array
fonte
char[]
=)Você pode usar
string.chars().mapToObj(e -> new String(new char[] {e}));
, embora seja bastante extenso e funcione apenas com o java 8. Aqui estão mais alguns métodos:string.split(""); (Has an extra whitespace character at the beginning of the array if used before Java 8)
string.split("|");
string.split("(?!^)");
Arrays.toString(string.toCharArray()).substring(1, string.length() * 3 + 1).split(", ");
O último é desnecessariamente longo, é apenas para diversão!
fonte
Um método adicional:
Como já foi mencionado, você poderia converter o "nome" original da String em uma matriz de caracteres com bastante facilidade:
Para continuar esta linha de pensamento, você pode converter a matriz char em uma matriz String:
Neste ponto, seu stringArray será preenchido com os valores originais de sua string original "nome". Por exemplo, agora ligando
Retornará o valor "n" (como uma String) neste caso.
fonte
Dividir uma string vazia com String.split () retorna uma única matriz de elemento contendo uma string vazia . Na maioria dos casos, você provavelmente prefere obter um array vazio ou um nulo se tiver passado um nulo, que é exatamente o que você obtém com org.apache.commons.lang3.StringUtils.split (str) .
Outra opção é google guava Splitter.split () e Splitter.splitToList () que retornam um iterador e uma lista correspondente. Ao contrário da versão do apache, o Splitter irá lançar um NPE em
null
:Se você quiser uma lista em vez de um iterador, use Splitter.splitToList () .
fonte
O método
String.split
irá gerar o primeiro vazio, você tem que removê-lo do array. É aborrecido.fonte
Com base no título desta pergunta, vim aqui querendo converter uma String em uma matriz de substrings dividida por algum delimitador. Acrescentarei essa resposta aqui para outras pessoas que possam ter a mesma pergunta.
Isso cria uma matriz de palavras, dividindo a string em cada espaço:
Isso cria a seguinte matriz:
Fonte
Testado em Java 8
fonte
aqui está convertendo string simples em array de string usando o método de divisão.
Resultado
fonte