首页 > 解决方案 > 如何在 swift 4.2 中屏蔽字符串

问题描述

我想在一个字符串中制作一个面具。

let unmasked = "12345678900"
//string masked = "123.456.789-00"

这是巴西 CPF 格式,我在 Stack Overflow BR 中一无所获

标签: swift4.2

解决方案


我找到了一个使用字符数组和 array.insert 在定义的索引中插入掩码的解决方案

葡萄牙语:Eu encontrei uma solução usando um array de caracteres ea função array.insert que permite inserir qualquer string em um determinado index da matriz。

let cpf = "12345678900"
var characters = Array(cpf) //making a character array (criando um array de caracteres)

characters.insert(".", at: 3) //inserting "." in index 3 (inserindo "." no index 3) 
//character = ["1","2","3",".","4","5","6","7","8","9","0","0"]

characters.insert(".", at: 7) // inserting "." in index 7 (inserindo "." no index 7)
//character = ["1","2","3",".","4","5","6",".","7","8","9","0","0"]

characters.insert("-", at: 11)// inserting "." in index 11 (inserindo "." no index 11)
//character = ["1","2","3",".","4","5","6",".","7","8","9","-","0","0"]

let masked = String(characters) //convert character to string
pint("cpf masked: ",masked)
//the masked will show: 123.456.789-00 (a mascara irá mostrar: 123.456.789-00)


推荐阅读