gpt4 book ai didi

java - 在字符串之间搜索文本 android

转载 作者:太空宇宙 更新时间:2023-11-04 13:21:06 26 4
gpt4 key购买 nike

我有一个非常长的 JSON 文本,我必须在其中找到位于以下之间的电影标题字符串:

(((((((   .","title":" AND ","type":"   )))))))

我读过其他解决方案,例如:

   String mydata = json;
Pattern pattern = Pattern.compile(".\",\"title\":\"(.*?)\",\"type\":\"");
Matcher matcher = pattern.matcher(mydata);
while (matcher.find())
{
testare += (matcher.group(1));
}

还有更困惑的方式:

    List<String> strings = Arrays.asList( json.replaceAll("^.*?.\",\"title\":\"", >>"")
.split("\",\"type\":\".*?(.\",\"title\":\"|$)"));
ArrayAdapter<String> myAdapter = new
ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1, strings);
final ListView myList = (ListView) findViewById(R.id.listVyn);
myList.setAdapter(myAdapter);

Json 以字符串形式包含 JSON 中的整个文本。我的问题是,当我搜索 Dirty 时,它会推荐包含“Dirty”的电影,我想搜索该字符串并挑选出所有标题。但由于某种原因,它似乎循环第一个电影名称,即“肮脏”,然后忽略其余部分。我该怎么办?

最佳答案

如果我理解正确,我可能会建议采用不同的方法。如果您将 json 对象反序列化为 java 对象,您应该会更容易地发现问题。也就是说,您将使用包含 json 信息的 java 对象,而不是使用 json。您可以通过多种方式做到这一点,例如使用 Gson:

Gson gson = new Gson();
MyObject myObject = gson.fromJson(jsonString, MyObject.class);

完成此操作后,您可以使用 myObject 从对象中获取文本。例如,myObject.getTitle()。如果您想在那个字符串上使用正则表达式,那很好。但我不会在 json 上使用正则表达式。

为了创建代表 json 的 MyObject.class,您可以使用: http://pojo.sodhanalibrary.com

关于java - 在字符串之间搜索文本 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com