iOS国际化字符串替换

国际化时定义的文本中需要外部数据替换,拼接太麻烦。
写过简单的工具,替换字符串中的值。

/// 替换国际化字符串中的值
    /// - Parameters:
    ///   - string: 原始字符串
    ///   - replaceTarget: 待替换字符(可以传入多个,index:标示根据 mark 切割后所占的下标位置;value:该位置对应的值。)
    ///   - mark: 替换标识
    ///   例子:"test" = "ABC*DEF*EGH*";
    ///   LocalizedTool.customLocalized(NSLocalizedString("test",comment:""), replaceTarget: [(index: 1, value: "123"), (index: 3, value: "234"), (index: 5, value: "345")])
    static func customLocalized(_ string: String, replaceTarget: [(index: Int, value: String)], mark: Character? = "*") -> String {
        var array = string.split(separator: mark!).map{String($0)}
        for target in replaceTarget {
            array.insert(target.value, at: target.index)
        }
        return array.joined()
    }

你可能感兴趣的:(iOS国际化字符串替换)