Swift 将字符串文本替换为数组字符串中的特定文本
Swift 将字符串文本替换为数组字符串中的特定文本,swift,swift3,swift3.2,Swift,Swift3,Swift3.2,entities=({confidence=”“;end=113;entity=DATE;extractor=“ner_spacy”;start=103;value=“五年”; }, {confidence=”“;end=177;entity=ORG;extractor=“ner_spacy”;start=163;value=“xyz公司”; } ); 这是后端数据,我需要以字符串形式显示,并以字符串文本形式删除和添加新值: 示例:“在{{{ORG}的{{years}经验}中,什么样的流程改进或
entities=({confidence=”“;end=113;entity=DATE;extractor=“ner_spacy”;start=103;value=“五年”;
},
{confidence=”“;end=177;entity=ORG;extractor=“ner_spacy”;start=163;value=“xyz公司”;
}
);代码>
这是后端数据,我需要以字符串形式显示,并以字符串文本形式删除和添加新值:
示例:“在{{{ORG}的{{years}经验}中,什么样的流程改进或标准设置?”
答:0--->5年数组和1--->xyz公司数组
我需要显示数组0和1的文本,而不是开括号和闭括号
在您在xyz公司的五年工作经验中,什么样的流程改进或标准设置?我试图为您的问题找到解决方案
这是我用作示例的JSON响应
[
{
"confidence": "<null>",
"end": 113,
"entity": "DATE",
"extractor": "ner_spacy",
"start": 103,
"value": "five years"
},
{
"confidence": "<null>",
"end": 177,
"entity": "ORG",
"extractor": "ner_spacy",
"start": 163,
"value": "xyz Company"
}
]
我在响应中使用了实体键
,以确定要替换的值,即
if let data = str.data(using: .utf8) { //You'll get this data from API response
let entities = try? JSONDecoder().decode([Entity].self, from: data)
var sentence = "In your {{DATE}} of experience at {{ORG}}, what kind of process improvements or standards setup?"
entities?.forEach({
if let entity = $0.entity, let value = $0.value {
sentence = sentence.replacingOccurrences(of: "{{\(entity)}}", with: value)
}
})
print(sentence) //In your five years of experience at xyz Company, what kind of process improvements or standards setup?
}
在上面的代码中,我遍历了实体数组
,并用相应的值
替换了{{entity}}
,即
"{{DATE}}" is replaced with "five years"
"{{ORG}}" is replaced with "xyz Company"
如果您仍然面临任何问题,或者如果我没有很好地理解问题陈述,请告诉我。它不适用于动态数据,在某些文本中不包含任何键值和{},在这种情况下,我们将如何编写它
我需要显示带有此类数据的tableview并播放语音消息
示例:q1)请你向我解释一下你自己,突出说明与项目经理和你所从事的不同领域相关的工作年限
回答:用户说出答案,发送后端并将响应存储在字典中
问题2)在你在{{{ORG}{{years}的{years}经验中,什么样的流程改进或标准设置?
注意:1)我需要替换{{}中的文本值
2) 对于某些问题文本,没有实体键和值。
3) 我们需要存储{{ORG}}值,并在其中存储问题文本
{{ORG}}我们应该替换实体的值
Q3)您能告诉我一些软件开发方法,以及您使用过的和熟悉的软件开发方法吗
q4)太好了。你能说出你在{{工业}领域和{年经验}支持的几个客户吗
------------很快
我存储了实体键和值响应,无论何时,只要回答时带有相应的文本,就可以根据哪个键确定需要在字符串中输入的数据类型?另外,请添加API响应的适当JSON示例。您尝试了什么,您能分享您当前的代码吗?请您也添加一个正确的json消息示例,您的示例中没有“多年经验”。Codable
据我所知,JSONDecoder是Swift 4。@JoakimDanielson是的。没有看到Swift-3的要求。
"{{DATE}}" is replaced with "five years"
"{{ORG}}" is replaced with "xyz Company"