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

14 ビュー (過去 30 日間)
CdC
CdC 2020 年 5 月 31 日
回答済み: CdC 2020 年 6 月 2 日
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'

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 5 月 31 日
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'

その他の回答 (1 件)

CdC
CdC 2020 年 6 月 2 日
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'}

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by