字符串数组主要用于可视化编程内容,如界面设计和图形绘制。

1.字符串变量的创建

字符变量的创建方法是:在指令窗口中先把待建的字符放在“单引号对”中,再按回车键。注意,该“单引号对”必须在英文状态下输入。这“单引号对”是MATLAB用来识别字符串变量所必须的。如:

>>a='This is an example.'

a =

This is an example.

>>msg = 'You''re right!'

%创建带单引号的字符串

msg =

You're right!

2.字符串数组的标识

字符串变量的每个字符(英文字母、空格和标点都是平等的)占据一个元素位,在数组中元素所处的位置用自然数标识。如:

>>b=a(1:4) % 提出一个子字符串

b =

This

ra=a(end:-1:1) % 字符串的倒排

ra =

.elpmaxe na si sihT

又如:

>>A='这是一个算例。';

>>B=size(A) % 符号数组 A 的“大小”

B =

1 7

>>C=A([5 6]) % 提出一个子字符串

C =

算例

3.字符串的ASCII码

字符串的存储是用ASCII码实现的。指令abs和double都可以用来获取串数组所对应的ASCII码数值数组。指令char可把ASCII码数组变为串数组。如

>>d=double(a)

d =

84 104 105 115 32 105 115 32 97 110 32 101 120 97 109 112 108 101

46

>>char(d)

ans =

This is an example.

对字符串ASCII码数组的操作:使字符串中字母全部大写

>>w=find(a>='a'&a<='z');

%找出串数组a中,小写字母的元素位置。

>>d(w)=d(w)-32;

%大小写字母ASCII值差32用数值加法改变部分码值。

>>char(d) %把新的ASCII码翻成字符

ans =

THIS IS AN EXAMPLE.

4.字符串数组的运算

>>Aa=[A,a]

Aa =

这是一个算例。This is an example.

>>name = strcat('Thomas',' R.','

Lee') %连接两个字符串,每个字符串最右边的空格被裁切

name =

Thomas R. Lee

>>D=strvcat('Hello','Yes','No','Goodbye')

%利用串操作函数创建多行串数组, 连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格,

使与最长字符串相等,会忽略空字符串。

D =

Hello

Yes

No

Goodbye

5. 字符串替换和查找

strrep—进行字符串替换,区分大小写

>>strrep(str1,str2,str3)

%它把str1中所有的str2字串用str3来替换

strfind(str,patten) %查找str中是否有pattern,返回出现位置,没有出现返回空数组

findstr(str1,str2) %查找str1和str2中,较短字符串在较长字符串中出现的位置,没有出现返回空数组

strmatch(patten,str) %检查patten是否和str最左侧部分一致

strtok(str,char) %返回str中由char指定的字符串前的部分和之后的部分,

6.常用字符串操作函数

blanks(n)—创建有n个空格组成的字符串

deblank(str)—裁切字符串的尾部空格

strtrim(str)—裁切字符串的开头和尾部的空格,制表,回车符

lower(str)—将字符串中的字母转换成小写

upper(str)—将字符串中的字母转换成大写

sort(str)—按照字符的ASCII值对字符串排序

num2str—将数字转换为数字字符串

str2num—将数字字符串转换为数字

mat2str—将数组转换成字符串

int2str—把数值数组转换为整数数字组成的字符数组

7.其他字符串操作函数

strcmp—比较两个字符串是否完全相等,是,返回真,否则,返回假

strncmp—比较两个字符串前n个字符是否相等,是,返回真,否则,返回假

strcmpi—比较两个字符串是否完全相等,忽略字母大小写

strncmpi—比较两个字符串前n个字符是否相等,忽略字母大小写

isletter—检测字符串中每个字符时否属于英文字母

isspace—检测字符串中每个字符是否属于格式字符(空格,回车,制表,换行符等)

isstrprop—检测字符每一个字符是否属于指定的范围.

8.字符串的显示和打印

>>g=’abcd’;

>> disp(g)

abcd

>>h=rand(2,2); %产生2*2随机阵

>>s=num2str(h) %把数值数组转换为串数组

s =

0.95013 0.60684

0.23114 0.48598

>>s_s=sprintf('%.10e\n',a)

数位科学记述串,每写一个元素就换行。

s_s =

9.5012928515e-001

2.3113851357e-001

6.0684258354e-001

4.8598246871e-001

>>fprintf('% .5g \\',a)

%以5位数位最短形式显示。不能赋值用。

0.95013\0.23114\0.60684\0.48598\

>>s_sscan=sscanf(s_s,'%f',[3,2])

%浮点格式把串转换成3*2数值数组。

s_sscan =

0.9501 0.4860

0.2311 0

0.6068 0

>>

A='AGTCGTAGGTAGGCGATGATGACGAT';

n=length(A)

N=zeros(1,4);

for i=1:n

if A(i)=='A'

N(1)= N(1)+1;

elseif A(i)=='T'

N(2)= N(2)+1;

elseif A(i)=='G'

N(3)= N(3)+1;

elseif A(i)=='C'

N(4)= N(4)+1;

end

end

disp('A T G C')

N

matlab创建字符,MATLAB字符串数组的创建与运算(转载)相关推荐

  1. matlab中定义文本数组,MATLAB字符串数组的创建与运算

    MATLAB字符串数组的创建与运算 字符串数组主要用于可视化编程内容,如界面设计和图形绘制. 1.字符串变量的创建 字符变量的创建方法是:在指令窗口中先把待建的字符放在"单引号对" ...

  2. java字符连接字符串数组_Java中连接字符串的最佳方法

    java字符连接字符串数组 最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用 ...

  3. MATLAB学习笔记04—MATLAB的字符与字符串类型

    MATLAB学习笔记 第4章字符和字符串类型 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MATLAB学习笔记 一.字符串属性示例 二.字符串数组的索引 三.字符串中的 ...

  4. 无法创建t的通用数组_创建通用数组的问题

    无法创建t的通用数组 在这篇文章中,我们将介绍一篇全面的文章,其中介绍了创建通用数组的问题. Java编程语言于2004年9月在Java 5.0" Tiger"发行版中添加了泛型. ...

  5. linux+多个字符分割字符串数组中,String的split()方法可以将字符串按照特定的分隔符拆分成字符串数组...

    在java.lang包中有String.split()方法,返回是一个数组------不管按照什么拆,拆出来是一个数组 String str = "1,2,3,4,5,6"; St ...

  6. java 怎样创建字符串数组_Java 创建并声明字符串数组

    public class ArrayOfStringsDemo { public static void main(String[] args) { /**来自 n o w j a v a . c o ...

  7. c语言实现字符指针(字符串)数组的排序

    需求: "ff555d", "114ddd", "114dd","aaa", "aaab", &qu ...

  8. python怎么创建一个二维数组_python 创建二维数组的方法

    废话不多说,直接上代码: #coding=utf-8 def two_di_demo1(): a=[] for i in range(10): a.append([]) for j in range( ...

  9. Matlab中创建字符串数组

    目录 创建字符串数组 根据变量创建字符串数组 创建空字符串和缺失字符串 访问字符串数组的元素 访问字符串中的字符 将字符串串联到字符串数组中 向字符串追加文本 拆分.联接和排序字符串数组 创建字符串数 ...

最新文章

  1. 调试H3C MSR 20-20 PPPOE拨号
  2. 最大公共子序列、子串、可重叠重复子串
  3. leetcode162. 寻找峰值 变种二分见过吗
  4. 博士出身好科研产出高,学术谱系真的可以决定一切吗?
  5. XML Schema基本数据类型及数据限定
  6. linux显卡性能测试工具,Linux系统中A/N显卡通用计算性能测试
  7. Spark sql读取数据库和ES数据进行处理代码
  8. python使用自制程序_python--自制程序性能检测工具
  9. 病毒木马防御与分析实战 1
  10. 如何解决卸载McAfee时出现“处于托管模式时无法删除”问题(转)
  11. Java 基于JavaMail实现向QQ邮箱发送邮件(未测试)
  12. 俩分钟认识Sketch的基础功能
  13. 将 JPG 或 PNG 图像转换为 Dicom
  14. 关于开机出现“安装程序正在为首次使用计算机做准备”的解决方案及微软OOBE与SYSPREP的实用技巧
  15. 快速了解Java设计模式
  16. 奋战开源操作系统二十年:为什么编程语言是突破口?
  17. entsel约束条件lisp_autolisp函数
  18. NB-IoT物联网无线远传水表
  19. Linux学习-X Server 配置文件解析与设定 显示器参数微调
  20. NOI OpenJudge 2722 和数

热门文章

  1. 小程序生成分享海报,带小程序码,并保存图片
  2. 产品经理学大数据——大数据软件框架:Spark(1)
  3. Markdown中插入数学公式的方法
  4. 文件加密解密操作——源码开源
  5. 蚂蜂窝特价 v4.4.0 官方安卓版
  6. 服务型移动机器人如何实现室内路径全覆盖清扫给你一个清爽干净的家
  7. Cisco IOS上Segment Routing TE的简单实验
  8. 共话开源 - openKylin出席 FOSSASIA Summit 2023 开源盛会!
  9. 王俊杰:5G为零售带来“五新”发展机遇
  10. [转]条码打印机基本设置方法