matlab截取一部分字符串

如题所述

a='abcdefghijklmnopqrstuvwxyz' %matlab中是一字符数组的形式存储字符串的

b=a(5:8) %可以像调用数组元素那样调用字符串中的某几个字符的

Matlab 实现特定位置的字符串的截取

save_path = 'H:\Experiment\Img\';

smap_list = 'P1_front_img.jpg';

cell_str = strsplit(smap_list,'_');  %分成三段: 'P1'    'front'    'img.jpg'smap_name = cell_str{1,1};

save_full_path = strcat(save_path, smap_name, '.jpg');  % H:\Experiment\Img\P1.jpg

扩展资料:

关于matlab字符串操作方法(截取)

在这里借助正则表达式函数regexp的split模式。一般语法:S = regexp(str, char, 'split')其中str是待分割的字符串,char是作为分隔符的字符(可以使用正则表达式)。分割出的结果存在S中。

以下面这样一串字符为例:

Hello Nocturne Studio

首先去除首尾的多余空格:str = deblank(str)

例1:设这几个字符串是以制表符分隔的,可以这样来做:S = regexp(str, '\t', 'split')

例2:设这些字符串是以一个或多个空格分隔的,可以用正则表达式来描述:S = regexp(str, '\s+', 'split')

这样,S(1)=’Hello’,S(2)=’Nocturne’,S(3)=’Studio’。

注意,上面得到的结果S是一个cell型变量,它的每个元素比如S(1)仍然是cell型的,只能用来display,不能直接用来进行字符串操作(比如获取其中的某个字符),所以我们在使用需要执行一次:

s1 = char(S(1))

这样的s1才是一个真正的字符串,可以进行后续的操作。

温馨提示:答案为网友推荐,仅供参考