【发布时间】:2021-11-11 21:40:39
【问题描述】:
我可能会为此找到复杂的方法,但事情就是这样: 得到一个存储在全局变量中的字符串: 例如: 这是从存储在全局变量中的 REST API 调用读取后 JSON 字符串的结果: 字符串 Str= ["["b8f400be-b823-49c6-b0dd-5c97dc5d45e4"]"]
现在我需要在“”中拆分字符串,输出应该只有 b8f400be-b823-49c6-b0dd-5c97dc5d45e4
我使用了 substring,indexOf,lastIndexOf 但在这两种情况下都无法获得明确的工作解决方案。我在这里缺少什么?
str.substring(5, str.indexOf("\"", str.indexOf("\"") + 1))
str.substring(5, str.substring.lastIndexOf("\"")-4);
反斜杠和双引号遇到错误,所以使用\"方法提取结果但仍然不起作用。
由于子字符串的参数只接受 (int,int) 我无法在那里提供一个字符串来检索,任何帮助将不胜感激
【问题讨论】:
-
str变量实际上包含什么? -
我可以给你工作代码,或者我可以帮你找到你need的东西来帮助你自己。您的工具箱不仅仅是一把锤子。如果锤子无法完成工作,请使用不同的工具。我建议查看
lastIndexOf的第二个参数到substring。请注意,您可以搜索字符串序列,而不仅仅是一个字符或单个字符串。还有许多其他字符串方法可以帮助您以不同的方式完成任务。 -
@Unmitigated str 包含 ["["b8f400be-b823-49c6-b0dd-5c97dc5d45e4"]"]
-
@MarsAtomic 我尝试了所有的字符串方法,例如 substring,lastIndexOf ,search 但它们都没有完成这项工作,我不断收到错误消息:超出范围异常,超出范围 -1
标签: java string global-variables indexof substr