code:
if( ~isempty( regexp(tline,'Atom .*has atomic number .*and mass ', 'once') ) )
str = strsplit( strtrim(tline), ' ')
end
input:' Atom 1 has atomic number 6 and mass 12.00000'
output:
1×9 cell array
Columns 1 through 5
{'Atom'} {'1tom'} {'hasm'} {'atomic'} {'number'}
Columns 6 through 9
{'6umber'} {'andber'} {'masser'} {'12.00000'}
The output is wrong!

댓글 수: 3

Which version are you using?
tline = ' Atom 1 has atomic number 6 and mass 12.00000';
if( ~isempty( regexp(tline,'Atom .*has atomic number .*and mass ', 'once') ) )
str = strsplit( strtrim(tline), ' ')
end
str = 1×9 cell array
{'Atom'} {'1'} {'has'} {'atomic'} {'number'} {'6'} {'and'} {'mass'} {'12.00000'}
Dyuman Joshi
Dyuman Joshi 2024년 1월 17일
편집: Dyuman Joshi 2024년 1월 17일
@Walter OP is using R2020b.
This is output when I ran the same code in my R2021a -
>> tline = ' Atom 1 has atomic number 6 and mass 12.00000';
if( ~isempty( regexp(tline,'Atom .*has atomic number .*and mass ', 'once') ) )
str = strsplit( strtrim(tline), ' ')
end
str =
1×9 cell array
{'Atom'} {'1'} {'has'} {'atomic'} {'number'} {'6'} {'and'} {'mass'} {'12.00000'}
I just installed R2020b and tested with the above code on an Intel Mac OS Sonoma. Output was as expected
str =
1×9 cell array
{'Atom'} {'1'} {'has'} {'atomic'} {'number'} {'6'} {'and'} {'mass'} {'12.00000'}

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

 채택된 답변

树果
树果 2024년 1월 17일
이동: Dyuman Joshi 2024년 1월 17일

0 개 추천

Thank you all!I have script name ‘strsplit.m’ the same as the function 'strsplit'. I made a mistake!

댓글 수: 1

Dyuman Joshi
Dyuman Joshi 2024년 1월 17일
이동: Dyuman Joshi 2024년 1월 17일
Ah, that should be it.
Now, this should be a reminder to not name variables or scripts as the same as functions in MATLAB.

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

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Data Types에 대해 자세히 알아보기

제품

릴리스

R2020b

태그

질문:

2024년 1월 17일

이동:

2024년 1월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by