Mac use strsplit happen question(Matlab 2020b)

2 次查看(过去 30 天)
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 个评论
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'}
Walter Roberson
Walter Roberson 2024-1-17
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 个评论
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 个)

类别

Help CenterFile 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