import Foundation
let pattern = #"(?<!^)((?<=[a-z])[A-Z0-9]|[A-Z](?=[a-z]))"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
Situacao",
PES_TIPO_PESSOA",
CedenteCnpjCpf",
TIT_CEDENTE_ENT_CODIGO",
CedenteNome",
Cnae",
SecaoCNAEDescricao",
NotaPdd",
SAC_TIPO_PESSOA",
SacadoCnpjCpf",
SacadoNome",
IdTituloVortx",
TipoAtivo",
DataEmissao",
DataAquisicao",
DataVencimento",
NumeroBoleto",
NumeroTitulo",
CampoChave",
ValorAquisicao",
ValorNominal",
ValorPresente",
PDDNota",
PDDVencido",
PagamentoParcial",
Coobricacao",
DataGeracao",
PDDTotal",
CampoAdicional1",
CampoAdicional2",
CampoAdicional3",
CampoAdicional4",
CampoAdicional5,
Campo22Adicional5
camelCase
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"_\1"#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression