我有一个像
这样的字符串"/d/WdTkRcxA/" + (446767 % 51245 + 446767 % 913) + "/Test%20vol.zip"
我需要"
字符和(
)
个字符之间的值。
/d/WdTkRcxA/
446767 % 51245 + 446767 % 913
/Test%20vol.zip
我知道如何使用
获取(
)
字符之间的值
String result = result.substring(result.indexOf("(") + 1, result.indexOf(")"));
但是我无法获得 / d / WdTkRcxA / 和 /Test%20vol.zip
有人可以建议吗?
答案 0 :(得分:1)
这种情况下,子字符串有点过于复杂,因此使用正则表达式会更好。使用此模式:["(]([^\)"]*)[")]
,您可以从该文本中提取目标字符串:
String text = "\"/d/WdTkRcxA/\" + (446767 % 51245 + 446767 % 913) + \"/Test%20vol.zip\"";
Pattern pattern = Pattern.compile("[\"(]([^\\)\"]*)[\")]");
Matcher m = pattern.matcher(text);
while (m.find()) {
String value = m.group(1);
System.out.println(value);
}
结果:
/d/WdTkRcxA/
446767 % 51245 + 446767 % 913
/Test%20vol.zip