Eu sou novo em Java, embora tenha uma boa experiência em PHP, e procuro um substituto perfeito para explodir e implodir (disponível em PHP) funções em Java.
Pesquisei o mesmo no Google, mas não estou satisfeito com os resultados. Qualquer pessoa que tiver a boa solução para o meu problema será apreciada.
Por exemplo:
String s = "x,y,z";
//Here I need a function to divide the string into an array based on a character.
array a = javaExplode(',', s); //What is javaExplode?
System.out.println(Arrays.toString(a));
Saída desejada:
[x, y, z]
Respostas:
O Javadoc para String revela que
String.split()
é isso que você está procurandoexplode
.Java não inclui um equivalente "implodir" de "junção". Em vez de incluir uma dependência externa gigante para uma função simples, como sugerem as outras respostas, você pode querer escrever apenas algumas linhas de código. Existem várias maneiras de fazer isso; usando um
StringBuilder
é um:fonte
String#join
( documentação ). Para o seu exemplo:String joined = String.join(" ", split);
. O método usa aStringJoiner
classe.String.split()
pode fornecer a você um substituto paraexplode()
Para uma substituição do
implode()
eu aconselhá-lo a escrever tanto uma função personalizada ou usar Apache Commons 'sStringUtils.join()
funções.fonte
Boas alternativas são os métodos String.split e StringUtils.join.
Explodir:
Implodir :
Lembre-se de que StringUtils está em uma biblioteca externa.
fonte
packages such as sun., that are outside of the Java platform, can be different across OS platforms (Solaris, Windows, Linux, Macintosh, etc.) and can change at any time without notice with SDK versions
java.lang.String.split(String regex)
é o que você está procurando.fonte
Não estou familiarizado com PHP, mas acho que String.split é Java equivalente a PHP
explode
. Quanto aimplode
, a biblioteca padrão não fornece tal funcionalidade. Você apenas itera sobre seu array e constrói string usando StringBuilder / StringBuffer . Ou você pode experimentar o excelente Google Guava Splitter e Joiner ousplit/join
métodos do Apache Commons StringUtils .fonte
se você está falando na referência de String Class. então você pode usar
para explodir e usar String
para Implode.
fonte
concate
não é equivalente aimplode
.