已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
2天前关闭。
Improve this question
我知道还有其他类似的问题,但是它们要么和数组有关,要么和字符串的大小写不同有关,假设我有一个字符串"AABBCCDDEEFF"
,我怎么才能得到BB
之后和EE
之前的所有内容,从而得到CCDD
的输出呢?
已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
2天前关闭。
Improve this question
我知道还有其他类似的问题,但是它们要么和数组有关,要么和字符串的大小写不同有关,假设我有一个字符串"AABBCCDDEEFF"
,我怎么才能得到BB
之后和EE
之前的所有内容,从而得到CCDD
的输出呢?
2条答案
按热度按时间xqk2d5yq1#
有许多regex选项:
1.在iOS 16及更高版本(或macOS 13及更高版本)中:
1.此外,在iOS 16及更高版本中,如果您不习惯使用regex,可以使用
RegexBuilder
:1.在旧版本的操作系统中,您可以使用各种传统的正则表达式方法。例如,您可以查找具有look-behind和look-aheadAssert的正则表达式:
1.或者,一种更老的技术是
NSRegularExpression
,可能是一个简单的捕获组:对于前两个选项,您可以参考WWDC 2022视频Meet Swift Regex或Swift Regex: Beyond the basics
exdqitrt2#
字符串有一个名为localizedStandardRange的方法,它是一个区分音调符号和大小写的方法。你可以得到第一个匹配项的范围上限,然后搜索该索引之后的子字符串,寻找第二个匹配项。如果找到了,你只需要检查索引是否不相等,这意味着结果将是一个空字符串: