Substituição e Divisão de Texto
Transforme strings usando operações de regex.
Substituição e Divisão de Texto é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Substituindo e dividindo
Regex não serve apenas para fazer correspondências. As strings do Swift podem substituir textos correspondentes e ser divididas com base em um padrão, transformando strings sem laços manuais.
replacing(_:with:)
replacing(_:with:) retorna uma nova string na qual toda correspondência do padrão é trocada pelo texto de substituição.
let s = "a1b2c3"
let cleaned = s.replacing(/\d/, with: "*")
print(cleaned)Substituindo palavras inteiras
O padrão pode ser qualquer expressão regular, portanto você pode substituir todas as sequências de dígitos de uma só vez usando uma única substituição.
let s = "order 1234 done"
let masked = s.replacing(/\d+/, with: "#")
print(masked)Modificando com replace
replace(_:with:) modifica uma string var no próprio lugar, em vez de retornar uma cópia.
var text = "hello world"
text.replace(/o/, with: "0")
print(text)Substituindo com um fechamento
A forma de replacing(_:with:) que usa um fechamento recebe cada correspondência e retorna a substituição, permitindo substituições calculadas.
let s = "a1 b2 c3"
let result = s.replacing(/\d+/) { match in
String((Int(match.0) ?? 0) * 10)
}
print(result)Usando capturas na substituição
Dentro do fechamento, você pode ler os grupos de captura da correspondência para criar o texto de substituição.
let s = "2024-05"
let out = s.replacing(/(\d+)-(\d+)/) { m in
"\(m.2)/\(m.1)"
}
print(out)split(separator:)
As strings aceitam split(separator:) com uma expressão regular, dividindo a string onde quer que o padrão corresponda.
let csv = "a,b;c,d"
let parts = csv.split(separator: /[,;]/)
print(parts)Dividindo em espaços em branco
Uma tarefa comum: dividir uma string em palavras em qualquer sequência de espaços em branco usando /\s+/.
let line = "the quick brown"
let words = line.split(separator: /\s+/)
print(words.count)
print(words)Limitando divisões
O parâmetro maxSplits limita quantas divisões ocorrem, mantendo o restante intacto.
let s = "a-b-c-d"
let parts = s.split(separator: /-/, maxSplits: 1)
print(parts)Removendo espaços e substituindo
Combine operações: substitua padrões indesejados e depois divida, para limpar e separar a entrada em partes em um pipeline.
let raw = " one,, two ,,three "
let cleaned = raw.replacing(/,+/, with: ",")
let items = cleaned.split(separator: ",").map { $0.trimmingCharacters(in: .whitespaces) }
print(items)replacing versus replacingOccurrences
O replacing de expressões regulares funciona com padrões; o replacingOccurrences(of:with:) mais antigo lida apenas com substrings literais. Prefira a forma com expressão regular para edições baseadas em padrões.
let s = "cat hat bat"
print(s.replacing(/[ch]at/, with: "X"))Verificação rápida
O que "a1b2".replacing(/\d/, with: "-") produz?
Recapitulação
Você pode substituir correspondências com replacing(_:with:) (na forma com string ou fechamento) e com o replace no próprio lugar, além de dividir strings com uma expressão regular usando split(separator:) e maxSplits. Isso transforma expressões regulares em um conjunto completo de ferramentas para transformação de texto.
Perguntas Frequentes
A aula “Substituição e Divisão de Texto” é grátis?
Sim — o texto completo de “Substituição e Divisão de Texto” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Substituição e Divisão de Texto”?
Transforme strings usando operações de regex. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Substituição e Divisão de Texto”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Literais de Regex e Correspondência
- Grupos de Captura
- DSL do RegexBuilder
- Substituição e Divisão de Texto