用Matlab实现字符串分割(split)
2016-07-25 11:24
393 查看
Matlab的字符串处理没有C#强大,本身又没有提供OO特性,需要依赖别的手段完成这项任务。
我们在这里借助正则表达式函数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才是一个真正的字符串,可以进行后续的操作。
原文链接:地址
我们在这里借助正则表达式函数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才是一个真正的字符串,可以进行后续的操作。
原文链接:地址
相关文章推荐
- matlab字符串处理
- Matlab与C++混合编程(依赖OpenCV)
- Matlab、C++、OpenCV混合编程
- Matlab实现将excel文件数据写到txt文件中
- Matlab批量预处理图片
- Java调用Matlab
- 增加回溯的最短路径算法的matlab实现
- fprintf函数小记
- 买西瓜的高级玩法,用好你的智能手机
- 放学快走,你的电脑在实验室自己喊啪嗒!
- Torch7学习(二) —— Torch与Matlab的语法对比
- matlab读取/播放视频的函数
- matlab写入/合成视频VideoWriter类
- Matlab学习日记-1
- Canny 边缘检测算子 MATLAB实现
- Matlab bsxfun函数
- MATLAB中如何将离散加速度积分求得速度
- matlab中将数据输出保存为txt格式文件的方法
- matlab图像基础知识
- matlab的绘图保存