我不确定标题是否正确,但我会解释我的意思。所以我正在做一个涉及API的项目。我创建了存储这些信息所需的数据类。奇怪的是,我实际上得到了我需要的信息。这是我为这个项目需要的信息列表的一个例子。
"Text":"Alma Gutierrez - Alma M. Gutierrez is a fictional character on the HBO drama The Wire, played by actress Michelle Paress. Gutierrez is a dedicated and idealistic young reporter on the city desk of The Baltimore Sun."
您可以看到,字符的名称和描述都在一个字符串值中。我通常习惯于名称和描述像这样分开,例如
Text:{
name: "Alma Gutierrez"
description:"Alma is a..."
}
所以我的问题是,我如何处理响应,以便分别获得名称和描述?我正在考虑某种函数,它将从JSON调用中获取字符串值,并将其拆分为名称和描述值。但我不知道该怎么做。
我会留下我的项目GitHub URL,以便你们参考。谢谢你的帮助。
https://github.com/OEThe11/AnywhereCE
您可以使用split((根据分隔符将字符串拆分为多个部分。
例如,如果您有一个包含问题中提到的描述的字符串,您可以执行以下操作:
val text = "Alma Gutierrez - Alma M. Gutierrez is a fictional character on the HBO drama The Wire, played by actress Michelle Paress. Gutierrez is a dedicated and idealistic young reporter on the city desk of The Baltimore Sun."
val (name, description) = text.split(" - ", limit = 2)
(看看这个操场上的行为(
limit = 2
参数可确保在描述中包含-
的情况下不会遗漏任何部分。它最多只分为两部分,因此它会将第一次出现-
之前的所有内容都视为名称,并将之后的所有内容视为描述,即使它包括更多的-
。
请注意,如果split()
返回的部分少于2,那么像这样使用解构val (name, description) = ...
将失败(换句话说,如果初始文本根本不包含-
,那么它将失败。根据您期望的输入,这可能对您来说没问题。
为了补充Joffery所说的内容,我实际上创建了一个变量来保存吐出的字符串。
val parts = Text.split(" - ", limit = 2)
由于分割中只有两个值,因此我可以使用该变量并调用相应文本字段所需的索引。