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) 不间断窄空格
相关推荐
Ws_7 小时前
C#学习 Day2
开发语言·学习·c#
杰克尼7 小时前
天机学堂复习总结(day03-day04)
java·开发语言·redis·elasticsearch·spring cloud
x***r1518 小时前
jdk-11.0.16.1_windows使用步骤详解(附JDK 11环境变量配置与验证教程)
java·开发语言·windows
luck_bor9 小时前
File类&递归作业
java·开发语言
努力努力再努力wz12 小时前
【Qt入门系列】:按钮组件全解析:从 QAbstractButton 到快捷键事件、单选与复选机制
c语言·开发语言·数据结构·c++·git·qt·github
skywalk816313 小时前
言知(Yanzhi)系统提升建议报告和完工报告 by AutoCoder
开发语言·编程
yunn_13 小时前
单例模式两种实现方法
开发语言·c++·单例模式
我材不敲代码13 小时前
Python基础:列表详解、增删改查及常用高阶操作
开发语言·windows·python
AI玫瑰助手13 小时前
Python运算符:成员运算符(in/not in)的使用场景
开发语言·python·信息可视化
AI人工智能+电脑小能手14 小时前
【大白话说Java面试题 第77题】【Mysql篇】第7题:回表查询与全表扫描的区别?
java·开发语言·数据库·mysql·面试