Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将字符串文本替换为数组字符串中的特定文本_Swift_Swift3_Swift3.2 - Fatal编程技术网

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"