用 in ios swift 将字符串文本替换为数组字符串中的特定文本

Replace string text to particular text in an array string with in ios swift

entities = ({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"; } );

这是后端数据,我需要在字符串中显示并删除并在字符串文本中添加新值:

示例:"In your {{years_of_experience}} of experience at {{ORG}}, what kind of process improvements or standards setup?"

答案:数组 0 ---> 五年和数组 1 ---> xyz 公司 我需要显示数组 0 和 1 的文本,而不是打开和关闭的大括号。

在您在xyz公司的五年经验中,有哪些流程改进或标准制定?

我已尝试为您的问题找到解决方案,

这是我用作示例的JSON response

[
    {
        "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"
    }
]

使用CodableJSON response解析为array of Entity对象,即

struct Entity: Codable {
    var confidence: String?
    var end: Int?
    var entity: String?
    var extractor: String?
    var start: Int?
    var value: String?
}

我在响应中使用 entity key 来确定要替换的值,即

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 = [=12=].entity, let value = [=12=].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?
}

在上面的代码中,我遍历了 entities array 并将每次出现的 {{entity}} 替换为相应的 value,即

"{{DATE}}" is replaced with "five years"
"{{ORG}}" is replaced with "xyz Company"

如果您仍然遇到任何问题或者我没有很好地理解问题陈述,请告诉我。

它不适用于动态数据,在某些文本中不包含任何键值和 {{}},在这种情况下我们将如何编写。

我需要显示具有此类数据的表格视图并播放语音消息。

示例:q1) 您能否向我介绍一下您自己,强调与项目经理相关的经验年限以及您所从事的不同领域

答案:用户说出答案,发送后端并将响应存储在字典中。

Q2) 在您{{years_of_experience}}在{{ORG}}的经历中,有哪些流程改进或标准设置? 注意:1)我需要替换 {{ }} 内的文本值 2)对于某些问题文本,没有实体键和值。 3)我们需要在里面存储{{ORG}}值和Whenever问题文本 {{ORG}} 我们应该替换实体的值。

Q3) 能否介绍一些软件开发的方法论,以及你用过的和熟悉的?

q4) 很好。您能说出您在 {{industry}} 域和 {{years_of_experience}} 中支持的一些客户吗?

------------ 很快。

每当用相应的文本说出答案时,我都会存储实体键和值响应