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, '', '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才是一个真正的字符串,可以进行后续的操作。
str='asdlkfj''sdkf''';
ind=findstr(str,'''');
a=str(ind(1)+1:ind(2)-1);
可参考findstr命令。
d = a{1};
dn = datenum(d, 'yyyy-mm-dd');
R = datestr(dn,'yyyy-mm-dd')
R =
2010-02-01
a='2010-2-1T12:23Z';b=a(1:8)
施满利鼻: matlab中有那些操作字符串函数 除了下面的几个函数 eval(string) 作为一个MATLAB命令求字符串的值 eval(try,catch) blanks(n) 返回一个n个零或空格的字符串 deblank 去掉字符串中后拖的空格 feval 求由字符串给定的函数值 findstr 从一个字符串内找出字符串 isletter 字母存在时返回真值 isspace 空格字符存在时返回真值 isstr 输入是一个字符串,返回真值 lasterr 返回上一个所产生MATLAB错误的字符串 strcmp 字符串相同,返回真值 strrep 用一个字符串替换另一个字符串 strtok 在一个字符串里找出第一个标记
阜城县18427357110: MATLAB 截取字符串?
施满利鼻: str='asdlkfj''sdkf''';ind=findstr(str,'''');a=str(ind(1)+1:ind(2)-1);可参考findstr命令.
阜城县18427357110: matlab 中如何截取字符串的一部分?例如取S2001中的2001? - ?
施满利鼻: str = 'S2001'; partstr = str(2:end); 即可,将str作为矩阵来看就行.
阜城县18427357110: matlab字符串截取的问题 - ?
施满利鼻: 使用matlab自带的split函数:以下划线“_”为间隔将原来字符串拆分为两部分,然后取相应的部分得到string类型的'12',最后转换为数字12.参考代码:>> str = '11_12';>> list = split(str,'_') list =2*1 string 数组 "11" "12">> new_str = list(2,1) new_str =string "12">> num = str2num(char(new_str)) num = 12上面代码中new_str变量的12还是string类型的,最后转换得到数字类型的num
阜城县18427357110: matlab如何截取第二个空格后的字符串??
施满利鼻: 先导入数据Import Data,分隔符选space,得到一个n行3列的数组,数组名为x; 要取x的第二列: x2 = x(:,2); 取x的第三列: x3 = x(:,3);
阜城县18427357110: matlab中怎么读取txt文件中的字符串 - ?
施满利鼻: 比如说在E:\new下有一系列txt文件,文件名符合matlab变量名的命名规则,并且没有temp.txt文件,每个文件有两列,以空格分割,第一列是字符串,第二列是浮点数字,要读取第二列的浮点数字为数组并以文件名为变量名.file=dir('E:\new\*.txt'); for n=1:length(file)temp=dlmread(['E:\new\',file(n).name],' ',0,1);eval([file(n).name(1:end-4),'=temp;']) end
阜城县18427357110: matlab 如何提取数组中的字符串 - ?
施满利鼻: 在matlab中有查找字符串的命令,但是不是你所要求的返回1或0; 你可以使用如下的命令:~isempty(strfind(str,'JPG')) 可以满足你的要求.
阜城县18427357110: matlab字符串分割 - ?
施满利鼻: flag = regexpi('abcdefgh+ijklmnop+qrstuvwx','+');
阜城县18427357110: matlab分割字符串能否在指定位置分割?比如在第***个字符后分割? - ?
施满利鼻: 如果是指定分割位置的话,不需要使用任何函数即可完成matlab指定位置的字符分割.例如将字符串前三个字符,与后面的字符分割. a='Hello world!'; a1=a(1:3) a2=a(4:end)
阜城县18427357110: 请问用Matlab可以从字母数字组成的字符串中提取数字吗? - ?
施满利鼻: MATLAB中字符串处理函数指令 中有个isletter,判断是否是字母 有个例子:str='Matlab R12.1';is_isletter=isletter(str) 结果是is_isletter =1 1 1 1 1 1 0 1 0 0 0 0 可见isletter的返回值是个矩阵,是字母的位置返回“1”,不是则返回“0” 因此你要的功能可以据此函数写出, 查找到为1的元素转为空矩阵后,将剩余的数字字符串转化为数值