MATLAB中characterListPattern函数用法

目录

语法

说明

示例

在文本中查找元音字母

提取在某字母范围内的字母

查找以元音字母开头的单词

将人名按字母顺序分组


characterListPattern函数的功能是匹配列表中的字符。

语法

cpp 复制代码
pat = characterListPattern(characters)
pat = characterListPattern(startCharacter,endCharacter)

说明

**pat = characterListPattern(characters)**创建与 characters 中包含的任何字符匹配的模式。

**pat = characterListPattern(startCharacter,endCharacter)**匹配范围在 startCharacter 和 endCharacter 之间的任何字符,包括 startCharacter 和 endCharacter。

示例

在文本中查找元音字母

定义一个模式表达式 pat,它使用 characterListPattern 只匹配小写元音字母 a、e、i、o 和 u。从字符串中提取该模式。

cs 复制代码
txt = "She sells sea shells by the sea shore.";
pat = characterListPattern("aeiou");
vowels = extract(txt,pat)
vowels = 10x1 string
    "e"
    "e"
    "e"
    "a"
    "e"
    "e"
    "e"
    "a"
    "o"
    "e"

提取在某字母范围内的字母

使用 characterListPattern 提取在指定字母范围内的字母。

定义一个模式表达式 pat,它使用 characterListPattern 仅匹配从 a 到 g 的小写字母。从字符串中提取该模式。

cs 复制代码
txt = "ABCDEFGHIJKLMONPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
pat = characterListPattern("a","g");
letters1 = extract(txt,pat)
letters1 = 7x1 string
    "a"
    "b"
    "c"
    "d"
    "e"
    "f"
    "g"

查找以元音字母开头的单词

将 pat 创建为一个 pattern 对象,该对象使用 letterBoundary、characterListPattern 和 lettersPattern 匹配以元音字母开头的单词。提取该模式。

cs 复制代码
txt = "Do you like words like armadillo, echidna, iguana, ostrich, & unicorn?";
pat = letterBoundary + characterListPattern("aeiou") + lettersPattern;
words = extract(txt,pat)
words = 5x1 string
    "armadillo"
    "echidna"
    "iguana"
    "ostrich"
    "unicorn"

将人名按字母顺序分组

创建字符串 names 变量。使用 characterListPattern 创建一个匹配字符 A 到 G 的模式。使用 startsWith 查找以 A 到 G 开头的人名。对 H 到 P 和 Q 到 Z 重复此过程。

cs 复制代码
names = ["Andres" "Betty" "Chris" "David" "Etsuko" "Fredrick"...
        "Gaston" "Hasina" "Ian" "Jose" "Karen" "Larry" "Malia"...
        "Nick" "Omar" "Patrick" "Quincy" "Rajesh" "Shruti"...
        "Tau" "Uma" "Veronica" "Wendy" "Xiao"...
        "Yakov" "Zhanna"];
    
NameGroup1 = names(startsWith(names,characterListPattern('A','G')))    
NameGroup1 = 1x7 string
    "Andres"    "Betty"    "Chris"    "David"    "Etsuko"    "Fredrick"    "Gaston"

NameGroup2 = names(startsWith(names,characterListPattern('H','P')))    
NameGroup2 = 1x9 string
    "Hasina"    "Ian"    "Jose"    "Karen"    "Larry"    "Malia"    "Nick"    "Omar"    "Patrick"

NameGroup3 = names(startsWith(names,characterListPattern('Q','Z')))
NameGroup3 = 1x10 string
    "Quincy"    "Rajesh"    "Shruti"    "Tau"    "Uma"    "Veronica"    "Wendy"    "Xiao"    "Yakov"    "Zhanna"

参数说明

characters --- 要匹配的字符的列表

要匹配的字符的列表,指定为字符向量或字符串标量。

startCharacter --- 开头字符

要匹配的字母范围的开头字符,指定为包含单个字符的字符标量或字符串标量。

endCharacter --- 结尾字符

要匹配的字母范围的结尾字符,指定为包含单个字符的字符标量或字符串标量。

pat --- 模式表达式

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

文本的字符顺序

​MATLAB® 使用 UTF-16 字符编码方案将字符存储为 Unicode®。字符和字符串数组按 UTF-16 代码点顺序进行排序。对于同时也是 ASCII 字符的字符,此顺序意味着大写字母在小写字母之前。数字和某些标点符号也在字母之前。

相关推荐
C++小厨神23 分钟前
Kotlin语言的正则表达式
开发语言·后端·golang
小猪咪piggy26 分钟前
【JavaSE】(8) String 类
java·开发语言
fadtes39 分钟前
C++ 智能指针(八股总结)
开发语言·c++
cfjybgkmf1 小时前
Python数据类型间的转换及eval函数
开发语言·python
孤客网络科技工作室1 小时前
不使用 JS 纯 CSS 获取屏幕宽高
开发语言·javascript·css
轩情吖1 小时前
一文速通stack和queue的理解与使用
开发语言·c++·后端·deque·优先级队列·stack和queue
Agnes_A202 小时前
线性回归笔记1-4
开发语言·python
ByteBlossom6662 小时前
JavaScript语言的正则表达式
开发语言·后端·golang
mikey棒棒棒2 小时前
基于Redis实现短信验证码登录
java·开发语言·数据库·redis·session
Pandaconda2 小时前
【新人系列】Python 入门(二十八):常用标准库 - 上
开发语言·经验分享·笔记·后端·python·面试·标准库