【问题标题】:Substring + IndexOf to get specific portions of StringSubstring + IndexOf 获取字符串的特定部分
【发布时间】:2019-10-16 19:33:14
【问题描述】:

假设我有这个代码:

String str = ""Name":"John","LastName":"Joshua"";

我想得到这个人的名字和他的姓氏。 我该怎么办? 我知道我需要使用 Substring 和 IndexOf,但不完全确定如何使用 准确地告诉程序搜索: “姓名”: 然后打印不带“”的 John。 姓氏也是如此。

【问题讨论】:

  • 这应该是您收到的 JSON 吗?对有人如何遇到此类数据感到困惑
  • 另外,您发布的内容无法编译。
  • @JBNizet 我知道这只是一个例子,它来自互联网。 RobOhRob
  • 问题是,如果我们不知道您应该解析什么,因为您发布的内容不正确,并且是您在互联网上随机找到的内容,我们真的不能帮助你。

标签: java string substring indexof


【解决方案1】:

首先,对于 java 声明一个字符串或至少我知道的方式是通过执行 String name = "John" , lastName = "Joshua"; 然后打印它,您可以执行类似 System.out.print(name + " " + lastName); 的操作,希望这就是您要问的。不过,这可能需要在 java 之外的其他东西下进行......

【讨论】:

  • 好的,这只是一个例子,我知道字符串不正确。假设它出现在网页上:"Name":"John","LastName":"Joshua"。您将如何检测名称在哪里以及名称是什么以及它在哪里结束?姓氏相同。
【解决方案2】:

首先你必须写String str = "\"Name\":\"John\",\"Surname\":\"Joshua\""";,因为“在Java中是保留的。如果你在它之前写一个反斜杠,你只能在字符串中写引号,这样编译器就不会解释它。我假设你想编辑 JSON 文件;有很多库可以做到这一点(只需使用 Google)。 否则,您可以尝试使用String.split(); 方法将字符串按“”或“名称”分割。

【讨论】:

  • 如果不是 JSON,最好将字符串包裹在花括号中并将其解析为 JSON,因为在很多情况下 String.split 会失败(例如名称中的逗号) .
  • 这取决于你用什么字符串分割它。但你是对的。
猜你喜欢
  • 2021-01-09
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多