Swift UILebelの指定複数箇所に色を付ける その1:HTML色指定を差し込む

実現したい事

その1:HTML色指定を差し込む

文字列:「1:00 Paris Saint-Germain – FC Nantes」
色指定差し込み後文字列:「1:00 Paris Saint-Germain – FC Nantes」

正規表現を使用して差し込む。
NSRegularExpressionを使用する。
ドキュメント:https://developer.apple.com/documentation/foundation/nsregularexpression

appendTextに文字列が格納されている前提。

do {
    let regex = try NSRegularExpression(pattern: "^([0-9]?[0-9]:[0-9][0-9])( .*)")
    appendText = regex.stringByReplacingMatches(in: appendText,
                                                options: [],
                                                range: NSRange(location: 0, length: appendText.count),
                                                withTemplate: "<font color=\"#008F00\">$1</font>$2")
    print("regex.stringByReplacingMatches:\(appendText)")
}
catch {
    print(error)
}

replaceMatches(in:options:range:withTemplate:)
in:文字列「1:00 Paris Saint-Germain – FC Nantes」
options:マッチングオプション、今回は使用しない
range:正規表現マッチング範囲、今回は文字列全範囲
withTemplate:置き換えテンプレート、$1と$2は正規表現のグループ、時間がグループ1、その他文字列がグループ2

SwiftSwift

Posted by shi-n