Substring(int,int) in java 来考虑字符串

Substring(int,int) in java to consider string

我可能会为此找到复杂的解决方法,但事情是这样的: 得到一个存储在全局变量中的字符串: 例如: 这是从存储在全局变量中的 REST API 调用读取后 JSON 字符串的结果: 字符串 Str= ["["b8f400be-b823-49c6-b0dd-5c97dc5d45e4"]"]

现在我需要在“”内拆分字符串,输出应该仅为 b8f400be-b823-49c6-b0dd-5c97dc5d45e4

我使用了 substring、indexOf、lastIndexOf,但无法在其中任何一个中获得清晰的工作解决方案 case.What 我是否遗漏了这里?

str.substring(5, str.indexOf("\"", str.indexOf("\"") + 1))
 str.substring(5, str.substring.lastIndexOf("\"")-4);

遇到反斜杠和双引号的错误,所以用\"方法提取结果还是不行。

由于 substring 的参数只接受 (int,int) 我无法在那里提供一个字符串来检索,任何帮助将不胜感激

您正在添加额外的不必要的逻辑。简直

str.substring(5, str.lastIndexOf("\"")-3); 甚至

str.substring(5, str.lastIndexOf("\"));

此外,这里是您正确 assign/post 字符串变量的方法 - String str = "["[\"b8f400be-b823-49c6-b0dd-5c97dc5d45e4\"]"]"

至少这是我基于您使用 5 作为子字符串的第一个索引所做的假设。我最初以为你的意思是 String str = "[\"b8f400be-b823-49c6-b0dd-5c97dc5d45e4\"]" 你发布的是一个包含单个字符串值的数组。