我有一个字符串:
str="[a],[b],[c]";
如何在Java(Android)中将str转换为数组:
array[0] -> a
array[1] -> b
array[2] -> c
修改 那么multidimensinal数组怎么样? STR = “[[” A1" , “A2”, “A3”],[ “B1”, “B2”, “B3”]]“;
答案 0 :(得分:5)
尝试
String str="[a],[b],[c]";
str= str.replaceAll("\\]|\\[", "");
String[] arr= str.split(",");
===========================================
<强>更新强>
将多维数组转换为单维已在SO中得到解答,请检查change multidimensional array to single array
刚刚复制了解决方案
public static String[] flatten(String[][] data) {
List<String> toReturn = new ArrayList<String>();
for (String[] sublist : Arrays.asList(data)) {
for (String elem : sublist) {
toReturn.add(elem);
}
}
return toReturn.toArray(new String[0]);
}
答案 1 :(得分:1)
查看String.split()方法
答案 2 :(得分:1)
您可以使用以下方式。
String Vstr = "[a],[b],[c]";
String[] array = Vstr.replaceAll("\\]|\\[", "").split(",");
答案 3 :(得分:1)
您需要处理字符串并构建数组。您可以查看.split(String regex)
(可能需要您进行更多处理来清理字符串),或者使用正则表达式并执行以下操作:
\[([^]]+?)\]
。这将在方括号中找出字符并将它们放入一个组中。.find()
类提供的Matcher
方法并迭代匹配项。将所有内容放入列表中,以便您可以根据需要输入多个匹配项。.toArray()
方法。答案 4 :(得分:0)
正则表达式的另一种选择,我认为npinti正在谈论:
String myStrg = "[a],[b],[c]";
int numCommas = 0;
for( int i = 0; i < myStrg.length(); i++ )
{
// Count commas
if( myStrg.charAt(i) == ',' )
{
numCommas++;
}
}
// Initialize array
myArry = new String[numCommas];
myArry = myStrg.split(",");
// Loop through and print contents of array
for( String arryStrg: myArry )
{
System.out.println( arryStrg );
}
答案 5 :(得分:0)
试试这段代码。
String str="[a],[b],[c]";
str= str.replaceAll("\\]|\\[", "");
String[] arr= str.split(",");