52matlab技术网站,matlab教程,matlab安装教程,matlab下载
标题: 去除字符串中空格的Matlab方法 [打印本页]
作者: matlab的旋律 时间: 2018-7-20 03:58
标题: 去除字符串中空格的Matlab方法
本帖最后由 matlab的旋律 于 2018-7-20 04:19 编辑
在处理字符串时经常遇到的一个问题是:去除字符串中的空格。下面列举几种比较常见的去除字符串中的空格方法:
对字符串 str1 = 'a b c';%b和c之间有两个空格
str2 = 'D e f';
str3 = {str1,str2}
1.replace法 使用方法为:newStr = strrep(
str,
old,
new) 将 str 中出现的所有 old 都替换为 new。例如:
replaceStr = replace(str1,' ','')
得到
replaceStr=
'abc'
2.strrep法 使用方法跟replace函数一致。
3.find法 查找非零元素的索引和值,在查找字符串的元素使用方法为:find(str 逻辑运算符 char),即查找str中元素跟char的关系。例如下面的集中方法都是等价的:
findStr = str1;
findStr(find(str1 == ' ')) =[]%查找到的空格用空矩阵替代
findStr = str1;
findStr(find(str1 == ' ')) = ''%查找到的空格用空符号替代
findStr = str1;
findStr = findStr(find(str1 ~= ' '))%找出非空格字符
4.findstr法 查找字符串中子符串的索引, k = findstr(str1,str2),与find不同的是findstr查找的是子符串,即length(str1) >= length(str2), 例如:
findstrStr = str1;
findstrStr(findstr(str1, ' ')) =[]
findstrStr = str1;
findstrStr(findstr(str1, ' ')) = ''
5.strfind法 使用方法与findstr基本相同,不同的地方是length(str1)与length(str2)的可以是大于等于,也可以是小于,返回的结果是子字符串在叫长字符串中的索引。
6.deblankl法 deblankl函数可以直接去掉输入字符串的空格,但也会将其中的大写字母变为小写字母,也可以处理字符串组成的元胞数组例如:
deblanklStr = deblankl(str1)
得到
deblanklStr=
'abc'
deblanklStr = deblankl(str2)%大写字母变成小写
得到
deblanklStr=
'def'
deblanklStrCell = deblankl(str3)
得到
deblanklStrCell=
1×2 cell array
{'abc'} {'def'}
这里介绍的都是作者本人用到的一些方法,当然也还有其他实现方式。同时,还有一些去除字符串中特定位置空格的函数,如deblank去掉字符串尾随的空格,strtim删除前导和尾随空白字符,等等。
欢迎光临 52matlab技术网站,matlab教程,matlab安装教程,matlab下载 (http://www.52matlab.com/) |
Powered by Discuz! X3.2 |