MATLAB中characterListPattern函数用法

立山  论坛元老 | 2025-1-23 02:12:53 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1024|帖子 1024|积分 3072

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目次
语法
说明
示例
在文本中查找元音字母
提取在某字母范围内的字母
查找以元音字母开头的单词
将人名按字母次序分组

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

  1. pat = characterListPattern(characters)
  2. pat = characterListPattern(startCharacter,endCharacter)
复制代码
说明

        pat = characterListPattern(characters) 创建与 characters 中包含的任何字符匹配的模式。
        pat = characterListPattern(startCharacter,endCharacter) 匹配范围在 startCharacter 和 endCharacter 之间的任何字符,包罗 startCharacter 和 endCharacter。
示例

在文本中查找元音字母

        定义一个模式表达式 pat,它利用 characterListPattern 只匹配小写元音字母 a、e、i、o 和 u。从字符串中提取该模式。
  1. txt = "She sells sea shells by the sea shore.";
  2. pat = characterListPattern("aeiou");
  3. vowels = extract(txt,pat)
  4. vowels = 10x1 string
  5.     "e"
  6.     "e"
  7.     "e"
  8.     "a"
  9.     "e"
  10.     "e"
  11.     "e"
  12.     "a"
  13.     "o"
  14.     "e"
复制代码
提取在某字母范围内的字母

        利用 characterListPattern 提取在指定字母范围内的字母。
        定义一个模式表达式 pat,它利用 characterListPattern 仅匹配从 a 到 g 的小写字母。从字符串中提取该模式。
  1. txt = "ABCDEFGHIJKLMONPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  2. pat = characterListPattern("a","g");
  3. letters1 = extract(txt,pat)
  4. letters1 = 7x1 string
  5.     "a"
  6.     "b"
  7.     "c"
  8.     "d"
  9.     "e"
  10.     "f"
  11.     "g"
复制代码
查找以元音字母开头的单词

        将 pat 创建为一个 pattern 对象,该对象利用 letterBoundary、characterListPattern 和 lettersPattern 匹配以元音字母开头的单词。提取该模式。
  1. txt = "Do you like words like armadillo, echidna, iguana, ostrich, & unicorn?";
  2. pat = letterBoundary + characterListPattern("aeiou") + lettersPattern;
  3. words = extract(txt,pat)
  4. words = 5x1 string
  5.     "armadillo"
  6.     "echidna"
  7.     "iguana"
  8.     "ostrich"
  9.     "unicorn"
复制代码
将人名按字母次序分组

        创建字符串 names 变量。利用 characterListPattern 创建一个匹配字符 A 到 G 的模式。利用 startsWith 查找以 A 到 G 开头的人名。对 H 到 P 和 Q 到 Z 重复此过程。
  1. names = ["Andres" "Betty" "Chris" "David" "Etsuko" "Fredrick"...
  2.         "Gaston" "Hasina" "Ian" "Jose" "Karen" "Larry" "Malia"...
  3.         "Nick" "Omar" "Patrick" "Quincy" "Rajesh" "Shruti"...
  4.         "Tau" "Uma" "Veronica" "Wendy" "Xiao"...
  5.         "Yakov" "Zhanna"];
  6.    
  7. NameGroup1 = names(startsWith(names,characterListPattern('A','G')))   
  8. NameGroup1 = 1x7 string
  9.     "Andres"    "Betty"    "Chris"    "David"    "Etsuko"    "Fredrick"    "Gaston"
  10. NameGroup2 = names(startsWith(names,characterListPattern('H','P')))   
  11. NameGroup2 = 1x9 string
  12.     "Hasina"    "Ian"    "Jose"    "Karen"    "Larry"    "Malia"    "Nick"    "Omar"    "Patrick"
  13. NameGroup3 = names(startsWith(names,characterListPattern('Q','Z')))
  14. NameGroup3 = 1x10 string
  15.     "Quincy"    "Rajesh"    "Shruti"    "Tau"    "Uma"    "Veronica"    "Wendy"    "Xiao"    "Yakov"    "Zhanna"
复制代码
参数说明
   characters — 要匹配的字符的列表
          要匹配的字符的列表,指定为字符向量或字符串标量。
   startCharacter — 开头字符
          要匹配的字母范围的开头字符,指定为包含单个字符的字符标量或字符串标量。
   endCharacter — 结尾字符
          要匹配的字母范围的结尾字符,指定为包含单个字符的字符标量或字符串标量。
   pat — 模式表达式
          模式表达式,以 pattern 对象形式返回。
文本的字符次序
        ​MATLAB® 利用 UTF-16 字符编码方案将字符存储为 Unicode®。字符和字符串数组按 UTF-16 代码点次序举行排序。对于同时也是 ASCII 字符的字符,此次序意味着大写字母在小写字母之前。数字和某些标点符号也在字母之前。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表