4、字符串处理

news2024/11/15 13:32:47

目录

一、字符串的构造

二、字符串比较

三、字符串查找

四、字符串替换

五、字符串——数值转换


Matlab中的字符串函数有:

一、字符串的构造

字符串或字符串数组的构造可以通过直接给变量赋值来实现,具体表达式中字符串的内容需要写在单引号内。如果字符串的内容包含单引号,那么以两个重复的单引号来表示。

构造多行字符串时,若字符串内容写在[]内,那么多行字符串的长度必须相同;若字符串内容写在{}内,则这多行字符串的长度可以不同。

示例1直接赋值构造字符串

str_a='I LOVE YOU!'

str_b='I LOVE YOU,TOO!'

str_c=strcat(str_a,str_b)

运行结果:

示例2:错误示范串联(纵向连接)

str_mat=['I';'LOVE';'YOU']

运行结果:

示例3:正确示范串联(纵向连接)

str_mat=['IIII';'LOVE';'YOU!']

运行结果:

此外,matlab中还可以用strvcatchar函数用于纵向连接多个字符串。strvcat函数连接多行字符串时,每行字符串的长度不要求相等,所有非最长字符串的右边会自动补偿空格,使得每行字符串的长度相同。char函数与strvcat函数类似,不过当多行字符串中有空字符串时,strvcat函数会自动进行忽略,而char函数会把空字符串也用空格补偿后再进行连接。

示例4

A='I';B='';C='YOU';

sABC=strvcat(A,B,C)

cABC=char(A,B,C)

size=[size(sABC);size(cABC)]

运行结果:

二、字符串比较

两个字符串之间的关系可以通过关系运算符来比较,也可以使用strcmp 函数来比较两个字符串是否相同。

示例5

A=('HELLO'=='WORLD')

B=('HELLO'=='HELLO')

C=strcmp('HELLO','WORLD')

D=strcmp('HELLO','HELLO')

运行结果:

注意:使用关系运算符进行比较时,会对字符串的每个字符进行比较,返回值是一个与字符串长度相同大小的数组,因此被比较的两个字符串的长度必须相同;而strcmp函数则根据两个字符串相同与否,返回值为数值0或1。

三、字符串查找

字符串的查找与搜索可以通过findstr函数来实现。

示例6按下标值查找字符串

str='I LOVE YOU!';

findstr(str,' ') %搜索字符串内的空格位置

运行结果:

注意1:此处的空格也可换成某个字母或某个单词

注意2:findstr函数对字母的大小写是敏感的。另外,findstr函数对字符串矩阵不起作用,因此对字符串矩阵的搜索只能通过循环索引矩阵内的元素进行搜索。

四、字符串替换

字符串的替换可以通过对字符串数组中相应的元素直接赋值来实现,也可以使用strrep函数来实现。

示例7:直接赋值替换字符串

str='I LOVE YOU!';

str(1:2)='洋洋'  %将前两个字符替换成洋洋

运行结果:

注意:直接赋值方法并不能使两个不同长度的字符串相互替换,替换与被替换的字符长度应相同

示例8:strrep函数替换字符串

str='I LOVE YOU!';

findstr(str,' '); %搜索字符串内的空格位置

str=strrep(str,'I','洋洋') %将字符串中的I替换为洋洋

运行结果:

注意:strrep函数可以替换两个任意长度的字符串。与findstr函数类似,strrep函数也对字符串矩阵不起作用。

五、字符串——数值转换

Matlab中字符串与各种数据类型之间的转换函数有:

示例9将数值嵌入字符串

age=22;

str=['洋洋的 age is ' num2str(age) '!']

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/165899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESP8266 ArduinoIDE 搭建web服务器与客户端开发

一、wifi 相关配置 1.1 无线终端 wifi 模式 此模式中&#xff0c;esp8266 会连接到指定 wifi 进行工作。 #include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库const char* ssid "home"; // 连接WiFi名&#xff08;此处使用home为示例&…

Vue2-Vue开发环境搭建

一、IDE编辑器&#xff1a;Vscode&#xff0c;自行下载安装即可 二、三种引入方式&#xff0c; 教程使用方式一引入 Vue官网&#xff1a;https://v2.cn.vuejs.org/v2/guide/installation.html 方式一&#xff1a;直接script引入 教程下载开发版本&#xff0c;下载到本地&…

使用人工智能机器人提高农业效率| 数据标注

人工智能技术创新不仅仅蔓延到智慧城市、智能建筑或新的混合工作模式&#xff1b;机器人还通过人工智能、自动拖拉机、实时监测农作物的传感器、无人机或水果和蔬菜收获机器人来彻底改变农业。今天&#xff0c;我们将向您介绍一些已经在农业中使用的最有趣的AI技术&#xff0c;…

微信小程序textarea的placeholder的行高怎么修改

目前不支持修改行高。如果你的内容设置了行高但是placeholder没有行高会导致输入内容的时候感觉不是对齐的&#xff0c;想要解决这个问题怎么办呢/ 我们可以自己写个text假装是placeholder的内容。然后textarea获取焦点输入内容的时候就不显示这个text的内容。 <view class…

新入公司 git基本命令使用(二) 小乌龟版

git命令行的操作复杂不直观,且容易出错. 这里推荐大家使用 git版小乌龟插件进行使用 下载地址 :https://tortoisegit.org/download/ 安装一路next即可 创建本地仓库 右键点击克隆, 然后输入项目地址,确认 拉取代码 右键点击同步 , 然后再界面中选择好对应的分支, 点击拉取 …

朴素贝叶斯分类算法和实例演示

文章目录贝叶斯公式算法原理实例演示代码实现本文开始&#xff0c;我们来学习一种新的机器学习方法&#xff1a;贝叶斯算法。 这次从最基础的朴素贝叶斯分类算法出发&#xff0c;了解相关的算法原理。 考虑如下一种分类问题&#xff1a;样本中只包含2类特征&#xff0c;标签只…

接口返回数据实体类属性大写变成小写

问题背景 今天遇到一个特别恶心的事情&#xff0c;我的返回实体类遵循了字段属性明明规则&#xff0c;驼峰命名法&#xff0c;在接口返回数据给前端的时候&#xff0c;所有数字那个字母全部自动变为了小写字母&#xff01; 错误的返回示例&#xff1a; 正确的返回示例&#x…

【鸟哥杂谈】腾讯云 CentOS8 Linux环境搭建docker

忘记过去&#xff0c;超越自己 ❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-01-15 ❤️❤️ 本篇更新记录 2023-01-15 ❤️&#x1f389; 欢迎关注 &#x1f50e;点赞 &#x1f44d;收藏 ⭐️留言&#x1f4dd;&#x1f64…

当青训营遇上码上掘金之主题四-攒青豆

theme: juejin 攒青豆 现有 n 个宽度为 1 的柱子&#xff0c;给出 n 个非负整数依次表示柱子的高度&#xff0c;排列后如下图所示&#xff0c;此时均匀从上空向下撒青豆&#xff0c;计算按此排列的柱子能接住多少青豆。&#xff08;不考虑边角堆积&#xff09; 以下为上图例子…

【JavaEE初阶】第一节.计算机是如何工作的

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 文章目录 前言 一、计算机发展历史 二、冯诺依曼体系 三、CPU 3.1 浅谈CPU 3.2 寄存器 3.3 指令 3.4 CPU的操作流程 3.5 时钟周期 四、编程语言 总结…

vue.js客服系统实时聊天项目开发(四)引入iconfont图标代码

普通引入模式下是这样的 首先&#xff0c;您需要在iconfont.cn上创建一个账号并添加图标。 然后&#xff0c;将iconfont的链接代码加入到页面的head标签中&#xff0c;例如&#xff1a; <link rel"stylesheet" href"//at.alicdn.com/t/font_123456_abcdefghi…

Docker为什莫方便(学习的记录)

Docker为什莫方便&#xff08;学习的记录&#xff09; 程序 — apk— 发布到商城------下载安装即可使用 程序----打包项目带上环境&#xff08;创建一个项目的镜像&#xff09;-----发布到docker仓库当中------下载安装运行即可 &#x1f315; docker的核心思想 将各个环境…

【手写 Vue2.x 源码】第二十七篇 - Vue 生命周期的实现

一&#xff0c;前言 上篇&#xff0c;主要介绍了数组依赖收集的实现 本篇&#xff0c;Vue 生命周期的实现 二&#xff0c;Vue.mixin 介绍 1&#xff0c;mixin 简介 Vue2 中可以通过 Vue.mixin 为 vue 进行功能扩展 开发中&#xff0c;经常使用 mixin 来为所有组件增加一些生…

机器学习的相关软件框架下载安装

文章目录一、Anaconda1. Anaconda 的下载2. Anaconda 的安装3. Anaconda Navigator 打不开问题&#xff08;不适用所有&#xff09;二、PyTorch-CPU1. PyTorch 环境创建2. PyTorch 下载3. Jupyter 中使用 PyTorch三、Python 版本升级与包的维护1. 更新 Anaconda2. 查看与更新 p…

回归预测 | MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机多输入单输出

回归预测 | MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机多输入单输出 目录回归预测 | MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机多输入单输出预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机…

【MAUI】自动更新功能的安卓App

自动更新功能的安卓App自动更新主要下面4个步骤更新服务测试页面:MainPage.xaml测试自动更新主要下面4个步骤 1、获取最新版本号 2、提示用户发现更新&#xff0c;等待用户确认更新 3、下载最新的apk包 4、安装apk包 更新服务 为简单示例&#xff1a;直接在android平台文件夹…

Spring资源管理,Spring资源管理源码分析

文章目录一、Java标准资源管理1、Java 标准资源定位2、Java URL 协议扩展基于 java.net.URLStreamHandlerFactory基于 java.net.URLStreamHandler3、Java 标准资源管理扩展的步骤4、Spring为什么不用Java标准的资源管理二、Spring资源接口与实现1、Spring基本资源接口InputStre…

C++ 简单实现RPC网络通讯

RPC是远程调用系统简称&#xff0c;它允许程序调用运行在另一台计算机上的过程&#xff0c;就像调用本地的过程一样。RPC 实现了网络编程的“过程调用”模型&#xff0c;让程序员可以像调用本地函数一样调用远程函数。最近在做的也是远程调用过程&#xff0c;所以通过重新梳理R…

项目管理平台,如何助力CMMI3-5级高效落地?

近日CoCode旗下Co-ProjectV3.0智能项目管理平台全面升级&#xff0c;CoCode产品4大版本全新发布&#xff0c;用户不限版本30天免费试用&#xff1b;平台全面支持CMMI3-5级&#xff0c;助力CMMI高效落地。 一、4大版本全新发布 不限版本30天免费试用 Co-Project V3.0智能项目管理…

FPGA:组合逻辑电路的设计

文章目录组合逻辑电路的设计组合逻辑电路的设计步骤组合逻辑电路的设计举例例1例2组合逻辑电路的设计 根据实际逻辑问题&#xff0c;求出所要求逻辑功能的最简单逻辑电路。 组合逻辑电路的设计步骤 1.逻辑抽象&#xff1a;根据实际逻辑问题的因果关系确定输入、输出变量&…