更改字体对所有A-Z,在多语言文本A-Z字母雨燕4.2

问题描述 投票:0回答:1

我有串多语言,我尝试做的是所有的改变字体。“[^ A-ZA-Z]。”在字符串。

我尝试用regex.matches合作,以获得所有比赛的范围,但我收到的范围是错误的。

let regex = try! NSRegularExpression(pattern: ".*[^A-Za-z].*", options: NSRegularExpression.Options())
    let value =  regex.matches(in: self.titleLabel.text!, options: NSRegularExpression.MatchingOptions(), range:NSMakeRange(0, self.titleLabel.text!.count))
swift
1个回答
0
投票

NSRangeNSRegularExpression类早夫特和是基于NSString概念,一个字符等于一个UTF-16码。在另一方面,斯威夫特的String类有一个字符是一个Unicode扩展graphe集群,即可以在文本编辑器中选择的最小单位的概念。因此,当您指定位置或长度,NSRange / NSStringString不同。

通常的棘手是使用NSString实例(而不是String实例)为正则表达式处理:

let regex = try! NSRegularExpression(pattern: ".*[^A-Za-z].*", options: NSRegularExpression.Options())
let text = self.titleLabel.text! as NSString
let value =  regex.matches(in: text, options: NSRegularExpression.MatchingOptions(), range:NSMakeRange(0, text.length))
© www.soinside.com 2019 - 2024. All rights reserved.