How can i access one cell {1x1} to split/separate its contained value?

조회 수: 1 (최근 30일)
ARN
ARN 2018년 8월 17일
편집: Stephen23 2018년 8월 17일
I have a .txt file , which contains data like follows
----------------Wed Aug 15 09:30:26 2018Wed Aug 15 09:30:26 2018Wed Aug 15 09:30:26 2018Wed Aug 15 09:30:26 2018----------------Wed Aug 15 09:30:28 2018Wed Aug 15 09:30:28 2018Wed Aug 15 09:30:28 2018Wed Aug 15 09:30:28 2018
I want to separate/split this data in following manner:
-------- (break)
-------- (break)
Wed Aug 15 09:30:26 2018 (break)
Wed Aug 15 09:30:26 2018 (break)
Wed Aug 15 09:30:26 2018(break)
Wed Aug 15 09:30:26 2018(break)
--------(break)
--------(break)
Wed Aug 15 09:30:28 2018(break)
Wed Aug 15 09:30:28 2018(break)
Wed Aug 15 09:30:28 2018(break)
Wed Aug 15 09:30:28 2018(break)
if I call/access that .txt file with fopen and fgets or importdata, all the data get stored in one cell {1x1}.How can i access this one cell to split/separate in shown manner?
P.S: Break means space or starting a new line
  댓글 수: 1
Stephen23
Stephen23 2018년 8월 17일
@Ahmad Riaz Nayer: please upload your data file by clicking the paperclip button.

댓글을 달려면 로그인하십시오.

채택된 답변

Stephen23
Stephen23 2018년 8월 17일
편집: Stephen23 2018년 8월 17일
Here is a simple solution using regexprep:
>> str = fileread('test.txt');
>> regexprep(str,'(-{8}|\d{4})','$1\n')
ans = --------
--------
Wed Aug 15 09:30:26 2018
Wed Aug 15 09:30:26 2018
Wed Aug 15 09:30:26 2018
Wed Aug 15 09:30:26 2018
--------
--------
Wed Aug 15 09:30:28 2018
Wed Aug 15 09:30:28 2018
Wed Aug 15 09:30:28 2018
Wed Aug 15 09:30:28 2018
The test file is attached (you did not provide any sample file).
  댓글 수: 2
ARN
ARN 2018년 8월 17일
Thanks for the answer. One more thing, Its still in one cell {1x1} while i want to have the separated data in new cell or stored in one new matrix. So for your test.txt file it should make 1x12 cell/matrix. Thanks
Stephen23
Stephen23 2018년 8월 17일
편집: Stephen23 2018년 8월 17일
@Ahmad Riaz Nayer: your original question indicated that you wanted line breaks, so that is what I inserted into the string. If you want to split the string into multiple strings, then try regexp:
>> str = fileread('test.txt');
>> C = regexp(str,'(-{8}|[\w :]+?\d{4})','match');
>> C{:}
ans = --------
ans = --------
ans = Wed Aug 15 09:30:26 2018
ans = Wed Aug 15 09:30:26 2018
ans = Wed Aug 15 09:30:26 2018
ans = Wed Aug 15 09:30:26 2018
ans = --------
ans = --------
ans = Wed Aug 15 09:30:28 2018
ans = Wed Aug 15 09:30:28 2018
ans = Wed Aug 15 09:30:28 2018
ans = Wed Aug 15 09:30:28 2018

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품


릴리스

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by