首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Swift中以特定的方式从字符串中提取数字

在Swift中,可以通过使用正则表达式或者遍历字符串的方式来从字符串中提取数字。

使用正则表达式: 在Swift中,可以使用NSRegularExpression类来进行正则表达式的匹配和提取。以下是一个使用正则表达式从字符串中提取数字的示例代码:

代码语言:txt
复制
import Foundation

func extractNumbersFromString(inputString: String) -> [String] {
    do {
        let regex = try NSRegularExpression(pattern: "\\d+", options: [])
        let results = regex.matches(in: inputString, options: [], range: NSRange(location: 0, length: inputString.utf16.count))
        return results.map {
            String(inputString[Range($0.range, in: inputString)!])
        }
    } catch let error {
        print("Invalid regex: \(error.localizedDescription)")
        return []
    }
}

let inputString = "I have 123 apples and 456 oranges."
let numbers = extractNumbersFromString(inputString: inputString)
print(numbers)  // Output: ["123", "456"]

这个示例代码定义了一个名为extractNumbersFromString的函数,它接受一个字符串作为输入,并返回提取到的数字组成的数组。函数内部使用NSRegularExpression类创建了一个匹配数字的正则表达式,并通过调用matches(in:options:range:)方法来获取匹配结果。然后,将匹配结果转换为字符串,并将结果存储到数组中返回。

使用遍历字符串的方式: 在Swift中,也可以通过遍历字符串的方式逐个字符判断是否为数字,并将数字字符组成的子串添加到结果数组中。以下是一个使用遍历字符串的方式从字符串中提取数字的示例代码:

代码语言:txt
复制
func extractNumbersFromString(inputString: String) -> [String] {
    var numbers: [String] = []
    var currentNumber: String = ""
    let decimalDigits = CharacterSet.decimalDigits
    
    for character in inputString {
        if decimalDigits.contains(character.unicodeScalars.first!) {
            currentNumber.append(character)
        } else if !currentNumber.isEmpty {
            numbers.append(currentNumber)
            currentNumber = ""
        }
    }
    
    if !currentNumber.isEmpty {
        numbers.append(currentNumber)
    }
    
    return numbers
}

let inputString = "I have 123 apples and 456 oranges."
let numbers = extractNumbersFromString(inputString: inputString)
print(numbers)  // Output: ["123", "456"]

这个示例代码定义了一个名为extractNumbersFromString的函数,它接受一个字符串作为输入,并返回提取到的数字组成的数组。函数内部通过遍历字符串的方式逐个字符判断是否为数字,并将数字字符组成的子串添加到结果数组中。当遇到非数字字符时,将当前数字字符串添加到结果数组中,并清空当前数字字符串。最后,如果当前数字字符串不为空,将其添加到结果数组中。最终返回结果数组。

以上是在Swift中以特定的方式从字符串中提取数字的方法。这些方法可以帮助您在Swift开发中处理字符串中的数字提取需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分8秒

055_python编程_容易出现的问题_函数名的重新赋值_print_int

1.4K
1分41秒

视频监控智能分析系统

43分7秒

武大医学研究院张博Cell分享:一种高效精确的基因组结构编辑工具

2分29秒

基于实时模型强化学习的无人机自主导航

1分1秒

多通道振弦传感器无线采集仪在工程监测中是否好用?

16分8秒

人工智能新途-用路由器集群模仿神经元集群

5分33秒

JSP 在线学习系统myeclipse开发mysql数据库web结构java编程

领券