Mac use strsplit happen question(Matlab 2020b)

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'}
@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
Thank you all!I have script name ‘strsplit.m’ the same as the function 'strsplit'. I made a mistake!

1 个评论

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 中查找有关 Characters and Strings 的更多信息

产品

版本

R2020b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by