我有一个string="name";
我想转换成字符串数组.我该怎么做?有没有内置的java函数?手动我可以做到,但我正在寻找一个内置的java函数.
我想要一个数组,其中字符串的每个字符都是一个字符串.像char'n'现在将字符串"n"存储在一个数组中.
rsp*_*rsp 186
要开始你的工作,String.split
在正则表达式上拆分字符串,这个表达式可能是一个空字符串:
String[] ary = "abc".split("");
Run Code Online (Sandbox Code Playgroud)
产生数组:
(java.lang.String[]) [, a, b, c]
Run Code Online (Sandbox Code Playgroud)
摆脱空的第一个条目留给读者练习:-)
注意:在Java 8中,不再包含空的第一个元素.
f1s*_*1sh 41
String strName = "name";
String[] strArray = new String[] {strName};
System.out.println(strArray[0]); //prints "name"
Run Code Online (Sandbox Code Playgroud)
第二行分配长度为1的String数组.请注意,您不需要自己指定长度,例如:
String[] strArray = new String[1];
Run Code Online (Sandbox Code Playgroud)
相反,长度由初始化器中的元素数量决定.运用
String[] strArray = new String[] {strName, "name1", "name2"};
Run Code Online (Sandbox Code Playgroud)
创建一个长度为3的数组.
fin*_*nnw 14
假设你真的想要一个单字符串的数组(不是char[]
或者Character[]
)
1.使用正则表达式:
public static String[] singleChars(String s) {
return s.split("(?!^)");
}
Run Code Online (Sandbox Code Playgroud)
零宽度负向前瞻会阻止输入开始时的模式匹配,因此您不会获得前导空字符串.
2.使用番石榴:
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import com.google.common.base.Functions;
import com.google.common.collect.Lists;
import com.google.common.primitives.Chars;
// ...
public static String[] singleChars(String s) {
return
Lists.transform(Chars.asList(s.toCharArray()),
Functions.toStringFunction())
.toArray(ArrayUtils.EMPTY_STRING_ARRAY);
}
Run Code Online (Sandbox Code Playgroud)
Lan*_*dei 13
我想根本不需要它,因为它不会变得更简单
String[] array = {"name"};
Run Code Online (Sandbox Code Playgroud)
当然,如果你坚持,你可以写:
static String[] convert(String... array) {
return array;
}
String[] array = convert("name","age","hobby");
Run Code Online (Sandbox Code Playgroud)
[编辑]如果你想要单字母字符串,你可以使用:
String[] s = "name".split("");
Run Code Online (Sandbox Code Playgroud)
不幸的是,s [0]将为空,但在此之后将出现字母n,a,m,e.如果这是一个问题,您可以使用例如System.arrayCopy来摆脱第一个数组条目.
ata*_*man 10
String data = "abc";
String[] arr = explode(data);
public String[] explode(String s) {
String[] arr = new String[s.length];
for(int i = 0; i < s.length; i++)
{
arr[i] = String.valueOf(s.charAt(i));
}
return arr;
}
Run Code Online (Sandbox Code Playgroud)
小智 9
在java 8中,有一个方法可以用来执行此操作:toCharArray():
String k = "abcdef";
char[] x = k.toCharArray();
Run Code Online (Sandbox Code Playgroud)
这导致以下数组:
[a,b,c,d,e,f]
Run Code Online (Sandbox Code Playgroud)
字符串数组=字符数组?
还是您有一个包含多个单词的字符串,每个单词应该是一个数组元素?
String[] array = yourString.split(wordSeparator);
只需使用.toCharArray()
Java 中的方法:
String k = "abc";
char[] alpha = k.toCharArray();
Run Code Online (Sandbox Code Playgroud)
这在 Java 8 中应该可以正常工作。
归档时间: |
|
查看次数: |
731533 次 |
最近记录: |