【发布时间】:2018-11-21 23:29:20
【问题描述】:
我正在寻找一种方法来捕获一个巨大字符串中的所有子字符串。子字符串都以:
开头"产品名称":",
在冒号后面的引号之后,子字符串的结尾和长度明显不同,但它们的最后都有这样的引号:
"productName":"cucumber" 或 "productName":"tomatoes"
我自己已经尝试过了,但是我的代码在第一场比赛后就停止了(后来我发现这是indexOf 所做的:D),我怎样才能获取每个子字符串并将其添加到 ArrayList ?
ArrayList<String> nameList = new ArrayList<>();
String productName = "\"productName\":\"";
String tmp = "";
char endPoint = '"';
int lastIndex = unmodifiedSourceCode.indexOf(productName) + 15;
for (int i = 0; i < 10; i++) {
if (unmodifiedSourceCode.charAt(lastIndex + i) != endPoint) {
tmp += unmodifiedSourceCode.charAt(lastIndex + i);
}
}
nameList.add(tmp);
我刚开始接触 Java。
编辑:我正在使用的源代码的更长示例
"id":"483303","nan":"483303","version":59640,"productName":"cucumber","description":"detail":/PD1028378"}},"id" :"1028378","nan":"1028378","version":27640,"productName":"bananas","description":
【问题讨论】:
-
看起来您正在解析 JSON。您应该考虑为此使用库,而不是将整个键值对视为字符串。
-
@Mena 打败了我,但这听起来像是关于解析 JSON 的X-Y problem。
-
Leo A,你能给出几个示例输入及其对应的输出吗?
-
请不要在 cmets 中添加更多信息。始终编辑/更新您的问题。
-
@GhostCat 好的,对不起,我下次会这样做:)
标签: java string arraylist substring