Azzera filtri
Azzera filtri

How to replace any number of repeating characters in a string or character array

11 visualizzazioni (ultimi 30 giorni)
I have Evil input text from which I need to extract tabular data for csv output.
The principle challenge is removing any number of the repeating .... character, while not removing single instances of a period.
I'd like to replace the repeating character with a comma so that the text can be turned into a CSV-style output. Note that there are other commas also present that should remain.
Here's an example.
EVIL TEXT INPUT:
Riots, Tips and Other Cleverness:................................$49,000.21
Submission Flavor:.............................................Original document
REQUIRED CLEAN CSV OUTPUT:
'Riots, Tips and Other Cleverness',49000.21
'Submission Flavor','Original document'

Risposta accettata

Ameer Hamza
Ameer Hamza il 31 Mag 2020
Something like this
str = fileread('test.txt');
new_str = regexprep(str, ':\.{2,}', ',')
Result
new_str =
'Riots, Tips and Other Cleverness,$49,000.21
Submission Flavor,Original document'

Più risposte (1)

CdC
CdC il 2 Giu 2020
Found another approach that works better in this context:
test = 'Riots, Tips and Other Cleverness:................................$49,000.21';
C = strsplit(test,'..'); % >> cell array ans = {'Riots, Tips and Other Cleverness:'} {'$49,000.21'}

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by