我有代码读取一行中包含多个方括号 [] 的文件,我将采用该值(方括号内)并将被另一个字符串替换。问题是我刚刚得到该行中的第一个方括号值,而其他值无法处理。这是我的代码:
if (line.contains("[") && line.contains("]")) {
getindex = getIndexContent(line);
}
以及获取索引值的方法:
String getIndexContent(String str) {
int startIdx = str.indexOf("[");
int endIdx = str.indexOf("]");
String content = str.substring(startIdx + 1, endIdx);
return content;
}
这是我读到的包含方括号的文件:
var[_ii][_ee] = init_value;
嗯,我已经得到了 _ii 值,但是如何获得方括号的第二个值 _ee 呢?我只是想象那个存储在数组中,但我不知道如何?
谢谢。
最佳答案
你可以迭代你的String
直到你得到所有
还可以通过在一个方法中返回所有内容来让生活变得轻松:
List<String> getIndexContent(String str) {
List<String> list = new ArrayList<String>();
while(true){
if(!str.contains("[") && !str.contains("]")){
break;
}
int startIdx = str.indexOf("[");
int endIdx = str.indexOf("]");
String content = str.substring(startIdx + 1, endIdx);
list.add(content);
if(endIdx==str.length()-1){
break;
}
str=str.subString(endIdx+1,str.length());
}
return list;
}
注意:
it won't work on nested brackets
关于java - 在Java IO中读取一行多个方括号值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33810069/