0Pricing
Swift Academy · Aula

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

  1. Literais de Regex e Correspondência
  2. Grupos de Captura
  3. DSL do RegexBuilder
  4. Substituição e Divisão de Texto
← Voltar para Swift Academy