MATLAB中whitespacePattern函数用法

目录

语法

说明

示例

匹配空白字符

替换非标准空白

更正错误的间距


whitespacePattern函数的功能是匹配空白字符。

语法

cpp 复制代码
pat = whitespacePattern
pat = whitespacePattern(N)
pat = whitespacePattern(minCharacters,maxCharacters)

说明

pat = whitespacePattern 创建一个模式,该模式匹配由一个或多个空白字符(如空格和制表符)组成的文本。

pat = whitespacePattern(N) 精确匹配由 N 个空白字符组成的文本。

pat = whitespacePattern(minCharacters,maxCharacters) 匹配由大于或等于 minCharacters 个且小于或等于 maxCharacters 个空白字符组成的文本。inf 是 maxCharacters 的有效值。whitespacePattern 是贪婪模式,匹配的空白字符数量尽可能接近 maxCharacters 个。

示例

匹配空白字符

使用 whitespacePattern 匹配非标准空白字符,如 char(160)。创建一个字符向量元胞数组,其中每个字符向量包含一个不同的空白字符,包括制表符和 newline 字符。

cpp 复制代码
whitespaces = {' ' char(9) newline char(32) char(160)}
whitespaces = 1×5 cell
    {' '}    {'→'}    {'↵'}    {' '}    {' '}

使用 whitespacePattern 构建一个匹配空白字符的模式。使用 contains 确定哪些字符向量包含有效空白字符。

cs 复制代码
pat = whitespacePattern;
contains(whitespaces,pat)
ans = 1×5 logical array

   1   1   1   1   1

替换非标准空白

使用 whitespacePattern 将非标准空白替换为标准 ' ' 字符。将 txt 创建为一个字符向量。

cpp 复制代码
txt = ['This' char(9) 'char' newline 'vector' char(160) 'has' char(32) 'nonstandard' char(8193) 'spaces']
txt = 
    'This	char
     vector has nonstandard spaces'

使用 whitespacePattern 将 pat 创建为一个匹配单个空白字符的模式对象。用单个空白替换匹配的文本部分。

cpp 复制代码
pat = whitespacePattern(1);
txt = replace(txt,pat," ")
txt = 
'This char vector has nonstandard spaces'

更正错误的间距

当存在多个空白字符时,使用 whitespacePattern 来更正间距。

创建字符串 txt 变量。使用 whitespacePattern 将 pat 创建为一个匹配两个或多个空白字符的模式对象。用单个空白替换匹配的文本部分。

cs 复制代码
txt = "Text looks   strange    with    extra    spaces";
pat = whitespacePattern(2,inf);
txt = replace(txt,pat," ")
txt = 
"Text looks strange with extra spaces"

参数说明

N --- 要匹配的精确字符数

要匹配的字符数,指定为非负整数标量。

minCharacters --- 要匹配的最小字符数。

要匹配的最小字符数,指定为非负整数标量。

maxCharacters --- 要匹配的最大字符数

要匹配的最大字符数,指定为非负整数标量。

pat --- 模式表达式

模式表达式,以 pattern 对象形式返回。

定义

空白是表示水平或垂直间距的任一字符或一系列字符。在呈现时,空白字符不对应于可见标记,但通常会占据页面上的某个区域。常见的空白字符包括:

实义空白字符 描述
char(32) 标准空白字符 ' '
char(133) 下一行
char(160) 不间断空格
char(8199) 图窗空格
char(8239) 不间断窄空格
相关推荐
wjs202414 分钟前
状态模式(State Pattern)
开发语言
我命由我1234518 分钟前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle18 分钟前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜2 小时前
ART配对软件使用
开发语言·c++·qt·算法
爱装代码的小瓶子4 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
Maybe_ch5 小时前
.NET-键控服务依赖注入
开发语言·c#·.net
超浪的晨6 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
终焉暴龙王6 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
Edingbrugh.南空6 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
CodeCraft Studio7 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html