一、判断是否为字母类型
isletter()函数:‘1’表示字符串对应的位置为字母字符,‘0’则相反
如何提取字符串当中全部的英文字符呢?解决方法如下
那想要提取字符串中 i 到 j 位置的字母字符时又该怎么办呢?
代码如下:
A = '123AB456CD789EF';
M = isletter(A);
str = ''; #提前申明空字符串str
for i = 5:13 #假设i==5,j==13
if M(i) == 1
str = [str A(i)]; #将str字串与A(i)字符拼接成新的字符串
end
end
str #查看最终的string
实现结果如下:
二、判断是否为空格字符
isspace()函数:‘1’表示字符串对应的位置为空格字符,‘0’则相反
那么老问题来了,如果你想去除字符串当中的空格字符怎么办呢?
代码如下(示例):
A = '123 456 789';
M = isspace(A); #判断空格字符
str = ''; #申明初始字符串
for i = 1:length(A) #length(A)为A字符串的长度
if M(i) ~= 1 #M(i)非1,代表字符串该位置不是空格字符
str = [str A(i)]; #进行字符串拼接
end
end
str #查看最终字符串
实现结果如下:
三、判断多种字符类型
isstrprop()函数:‘1’表示字符串对应的位置为相应字符,‘0’则相反
四、字符串转数字例题
华氏温度转摄氏温度
输入字符串,如果字符串是数字字符串,那么就进行温度转换
如果字符串不是数字字符串,那么就输出 ‘输入有误,请输入数字’
如果字符串是空字符串,那么结束程序
代码示例如下:
function F2C()
while 1
str = input("Temperature in F: ",'s');
if isempty(str)
disp('程序结束');
break;
else
if isnan(str2double(str))
disp('输入有误,请输入数字');
continue;
else
temperature = (str2double(str) - 32)*5/9;
disp(['------>Temperature in C = ',num2str(temperature,'%.2f'),'°C']);
end
end
end
实现结果如下: