重新格式化字符串并将其部分放入单独的变量中

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

我正在尝试格式化用户输入的字符串,然后将该字符串的一部分放置在三个单独的变量中。

//This is the text the user enters
rgbInputTextField.text == "253, 254, 255" //(Or variations like "53 54 55" or "3,4,5")


//I'd like to place that string in three variables such that:
R == 253
G == 254
G == 255

我是完全错误的做法吗?目的是注册用户的RGB输入字符串,并将其转换为十六进制值。

一旦有了R,G和B变量,我便可以转换为十六进制,但无法弄清楚如何将rgbInputTextField字符串放入这三个单独的变量中。我发现了很多可以将十六进制字符串转换为UIColor的UIColor扩展,但是没有将rgb字符串(带有变体)转换为hex / UIColor的任何扩展。

感谢任何帮助!

ios swift string uicolor
2个回答
0
投票

找到一种解析字符串的方法,并在每个逗号之后存储R,G和B的变量。为此,您可以使用NSRegularExpression创建一个正则表达式。

https://developer.apple.com/documentation/foundation/nsregularexpression

如果我是你,我将只创建三个单独的textField并从输入中读取值。


0
投票

您可以使用以下方法提取字符串的数字:

let string = "122, 255, 2"
var array = String(stringLiteral: string).components(separatedBy: CharacterSet.decimalDigits.inverted)
array = array.filter { $0 != "" }

结果:["122", "255", "2"]

© www.soinside.com 2019 - 2024. All rights reserved.