Итерация и синтаксический анализ строк текстового файла в matlab

У меня первый день с Matlab, и я пытаюсь понять, как импортировать данные из моего файла .log.

Итак, одна строка выглядит так:

123456.99 :: working completed: result=0 , data ="{"day":"monday", "breakfast":"sandwich"}"

Я открыл файл с помощью команды fileread ().

Но меня интересует только часть после data = {}, где данные могут быть сохранены как JSON и позже легко использованы. Я не знаю, как перебирать и анализировать весь файл?

Я пробовал погуглить, но решения там кажутся слишком сложными и непонятными. Может кто-нибудь дать мне подсказки?

0
0
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать чтение файла для чтения файла:

>> rawData = fileread('mydocument.txt');

регулярное выражение для анализа данных:

>> myJson = regexp(rawData,'data ="({[^}]+})','tokens','once');

jsondecode для декодирования json:

>> jsondecode(myJson{:})
   ans = 

   struct with fields:

          day: 'monday'
    breakfast: 'sandwich'

Привет, я пометил ваш ответ как решение, поскольку он ответил на мой вопрос. У меня есть еще один, если вы можете помочь. fileread читает только одну строку, если бы я хотел сделать то же самое только с текстовым файлом, в котором было много строк, bsc, если бы мне пришлось повторить итерацию, есть ли простой способ сделать это?

Tricker Macedonia 06.11.2018 13:54

Другие вопросы по теме