我希望从
拆分这些字符串CH1Avg
Ch2Avg
Ch3
Ch4Avg
Ch5
Ch6Avg
Chan7
Channel9
Ch010
Ch011Avg
Chann12Average
......直到......
Ch100AVG
我需要将它们分成他们的组成部分
"Ch", ##, "Avg"
第一和第三组件具有可变长度和形式。我想使用第二个分量进行分割,第二个分量是一个从0到100变化长度的整数。整数可以填充也可以不填零。
有什么想法?我试图使用()
但没有取得多大成功。
答案 0 :(得分:2)
为了将字符串拆分成组成部分,为方便起见,我建议使用命名标记:
strCell = {'CH1Avg'
'Ch2Avg'
'Ch3'
'Ch4Avg'
'Ch5'
'Ch6Avg'
'Chan7'
'Channel9'
'Ch010'
'Ch011Avg'
'Chann12Average'}
out = regexp(strCell,'(?<channelName>\D+)(?<channelNum>\d+)(?<channelType>\w*)','names')
out = [out{:}];
out(end)
ans =
channelName: 'Chann'
channelNum: '12'
channelType: 'Average'
答案 1 :(得分:0)
在(\d+)
上拆分。括号确保您分割的数字也将成为数组的一部分。