StringCases
StringCases["string",patt]
给出 "string" 中匹配字符串表达式 patt 的子串列表.
StringCases["string",lhsrhs]
给出对应于匹配字符串表达式 lhs 的子串的 rhs 的值组成的列表.
StringCases["string",p,n]
包含前 n 个匹配的子串.
StringCases["string",{p1,p2,…}]
给出匹配任何 pi 的子串.
StringCases[{s1,s2,…},p]
给出每个 si 的结果列表.
StringCases[patt]
表示 StringCases 的操作符格式,可以应用于表达式.
更多信息和选项
- 字符串表达式可以是 StringExpression 中指定的任何对象.
- 缺省选项设置 Overlaps->False 下,StringCases 仅包含非重叠子串. 设置为 Overlaps->True 时则包含重叠子串.
- 设置为 Overlaps->All 时,匹配同一字符串表达式的子串重复计算. 设置为 Overlaps->True 时,仅对给出的第一个子串重复计算.
- 设置为 IgnoreCase->True 使得 StringCases 不区分大小写.
- StringCases["string",RegularExpression["regex"]] 给出匹配特定常规表达式的子串.
- StringCases[s,lhs:>rhs] 仅在没有模板时计算 rhs.
- StringCases[patt][expr] 等价于 StringCases[expr, patt].
- StringCases[BioSequence["type","seq"],patt,…] 在字符串 "seq" 中查找 patt 的情况,产生生物分子序列的列表. 在这种情况下,patt 中的简并字母被解释为基于生物分子序列类型的通配符模式. 使用 Verbatim["patt"] 从字面上匹配简并字母.
- BioSequence 的文档列出了每种类型的生物分子序列支持的简并字母.
- 如果 StringCases 运算的生物分子序列是环状的,则可以进行回绕匹配.
背景
- StringCases["string",{patt1,…,pattk}] 返回一个列表,其元素是与任何模式 pattj 匹配的 "string" 的子字符串. 另一种形式 StringCases["string",patt] 等价于 StringCases["string",{patt}],而 StringCases["string",lhsrhs] 给出 rhs 的值列表,对应于匹配 lhs 的 "string" 的子字符串,StringCases["string",patt,n] 仅包括匹配的前 n 个子字符串,StringCases["string",RegularExpression["regex"]] 给出与指定正规表达式 regex 匹配的子字符串, StringCases[patt]["string"] 表示应用于 string 的 StringCases 的运算符形式. StringCases 自动线性作用于列表, StringCases[{"string1",…,"stringn"},…] 返回各个 "stringj" 的结果列表.
- 字符串模式 pattj 可以含有任何有效的 StringExpression 对象,例如 AnyOrder、FixedOrder、Condition、Whitespace、NumberString 和 DatePattern.
- StringCases 的默认行为等价于 StringCases[…,IgnoreCase→False,Overlaps→False],即考虑小写和大写字母的区分,并省略重叠的子字符串. 相反,指定选项 IgnoreCase→True 使 StringCases 将小写和大写字母视为等效. Overlaps 选项有许多可能的设置,其中 Overlaps->All 返回匹配同一个字符串表达式的所有多个子字符串,Overlaps->True 返回给定位置上的第一个匹配子字符串.
- StringCases 与许多其他符号相关. StringCount 给出给定字符串匹配特定模式的子字符串的个数,StringPosition 给出给定字符串匹配子字符串位置的子字符串的个数,StringCount["string",patt] 和 StringTake["string",StringPosition["string",patt]] 分别等价于 Length[StringCases["string",patt]] 和StringCases["string",patt]. StringContainsQ 和 StringFreeQ 分别检验给定字符串是否含有或不含有匹配特定模式的子字符串. 特别地,当且仅当 StringCases["string",patt] 返回空列表 {} 及StringFreeQ["string",patt] 返回 True 时,StringContainsQ["string",patt] 返回 False. StringCases 与 String 的关系相当于 TextCases 和 Cases 的关系,并且与 TextWords、StringReplace、StringReplaceList 和 StringReplacePart 相关.
范例
打开所有单元关闭所有单元基本范例 (3)
范围 (11)
选项 (3)
属性和关系 (2)
Wolfram Research (2004),StringCases,Wolfram 语言函数,https://reference.wolfram.com/language/ref/StringCases.html (更新于 2020 年).
文本
Wolfram Research (2004),StringCases,Wolfram 语言函数,https://reference.wolfram.com/language/ref/StringCases.html (更新于 2020 年).
CMS
Wolfram 语言. 2004. "StringCases." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/StringCases.html.
APA
Wolfram 语言. (2004). StringCases. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/StringCases.html 年