博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用MATLAB实现字符串分割
阅读量:7062 次
发布时间:2019-06-28

本文共 654 字,大约阅读时间需要 2 分钟。

strsplit更好用,用法:

strsplit(strtrim(sprintf('  \t\nds   \nhs\t dssd    \t    \n')))

 

以下转载

 

Matlab的字符串处理没有C#强大,本身又没有提供OO特性,需要依赖别的手段完成这项任务。
我们在这里借助正则表达式函数regexp的split模式。一般语法:
S = regexp(str, char, 'split')

其中str是待分割的字符串,char是作为分隔符的字符(可以使用正则表达式)。分割出的结果存在S中。
以下面这样一串字符为例
Hello Nocturne Studio
首先去除首尾多余的空字符:(deblank是删除尾部的空字符,包括\n, \t, blank, etc.)
str = strtrim(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才是一个真正的字符串,可以进行后续的操作。

你可能感兴趣的文章
远程入侵原装乘用车(上)
查看>>
「前端」尚妆 UI 组件库工程实践(weex vue)
查看>>
Vue.js 2.0实战精华梳理
查看>>
技术的成长曲线
查看>>
DOM常用操作
查看>>
【译】Cloudera Manager(CDH)入门系列之四 (管理员控制台)
查看>>
编程常用动词细微差别
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
聊聊reactive streams的backpressure
查看>>
android studio 2 3 的maven坑
查看>>
来分享一个我自己写的HTML模板引擎,Leopard
查看>>
基于阿里云数加构建企业级数据分析平台
查看>>
React Native安卓模拟器调出Dev Setting菜单
查看>>
Laravel整合Bootstrap 4的完整方案
查看>>
Swift枚举相关值
查看>>
少走弯路,给Java 1~5 年程序员的建议
查看>>
08.Android之View事件问题
查看>>
[ JavaScript ] 数据结构与算法 —— 链表
查看>>
Java程序员幽默爆笑锦集
查看>>
小程序button引导用户授权
查看>>