É possível escrever uma expressão regular que corresponda a um padrão específico e depois substituir por uma parte do padrão
Estou trabalhando com alguns arquivos de texto delimitados por vírgula. O arquivo é composto por aproximadamente 400 linhas e 94 colunas, todas delimitadas por vírgulas e entre aspas duplas:
"H","9","YES","NO"....
Meu objetivo é dividir o arquivo em suas respectivas colunas usando o delimitador de vírgula. Infelizmente, existem vários campos nas linhas que têm o seguinte formato:
"4,5" or "2,5,8"
Esses campos estão corrompendo a estrutura da coluna do arquivo ao analisar o arquivo na vírgula. Então, o que eu gostaria de fazer é usar a expressão regular para fazer algum tipo de localização e substituição, para que eu possa analisar com êxito meu arquivo. Por exemplo:
"H","9","YES","NO","4,5","Y","N" would become this:
"H","9","YES","NO","4|5","Y","N"
para que, quando analise o arquivo, obtenha sete colunas em vez de oito.
Eu escrevi umexpressão regular que lida com "2,5" ou "2,3,4 correspondentes", mas não sei como lidar com a peça de substituição.
É possível realizar essas expressões regulares?
Nota: Estou usando expressões regulares perl.