trying to obtain data from a txt file but one column has negative values and ignores the - sign and leaves it as +

3 vues (au cours des 30 derniers jours)
str = fileread('Wello.txt');
nums = cellfun(@str2double, regexp(str, '([\d.,]+)', 'match'));
DATA = reshape(nums, 3, [])';
this is the code above.
txt file is like this::
H G J
245 54 -45
output after code:
245 54 45

Réponse acceptée

Ameer Hamza
Ameer Hamza le 30 Sep 2020
Modifié(e) : Ameer Hamza le 30 Sep 2020
Why use regular expression here. Just use readmatrix()
M = readmatrix('data.txt');
Result
>> M
M =
245 54 -45
For the regular expression in your question, you missed the minus (-) sign
str = fileread('data.txt');
nums = cellfun(@str2double, regexp(str, '(-?[\d.,]+)', 'match'));
  3 commentaires

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by