KanjiConv // Fix Surrogate-Pair Compatibility Issue with RegEx Function.
This commit is contained in:
parent
1ad5efbb4c
commit
30d3e9950a
|
@ -21,10 +21,11 @@ import Cocoa
|
||||||
// 這個模組果然還是要用 Regex 轉換會比較爽。
|
// 這個模組果然還是要用 Regex 轉換會比較爽。
|
||||||
// 為防止與其他模組彼此發生可能的衝突,這段 String 擴展就用 private 開頭來私有化。
|
// 為防止與其他模組彼此發生可能的衝突,這段 String 擴展就用 private 開頭來私有化。
|
||||||
private extension String {
|
private extension String {
|
||||||
|
// Ref: https://stackoverflow.com/a/40993403/4162914 && https://stackoverflow.com/a/71291137/4162914
|
||||||
mutating func regReplace(pattern: String, replaceWith: String = "") {
|
mutating func regReplace(pattern: String, replaceWith: String = "") {
|
||||||
do {
|
do {
|
||||||
let regex = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
let regex = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||||
let range = NSRange(location: 0, length: count)
|
let range = NSRange(location: 0, length: self.utf16.count)
|
||||||
self = regex.stringByReplacingMatches(in: self, options: [], range: range, withTemplate: replaceWith)
|
self = regex.stringByReplacingMatches(in: self, options: [], range: range, withTemplate: replaceWith)
|
||||||
} catch { return }
|
} catch { return }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue