ios - 如何检查数组字符串元素是否包含数字
问题描述
假设我有一个数组:
var myArray = ["bla_01", "bla_02", "tra", "bla", "tra_01", "tra_14]
我想对它们进行排序并只获取其中包含数字的字符串。所以我func
只需要返回“bla_01”、“bla_02”、“tra_01”、“tra_14”值。
我现在有这样的代码,但这只会得到第一个值,如果有 item_01、item_02、bla_02,这将只删除 item_01、item_02 并忽略 bla_02。稍后排序并仅返回具有最高编号的相同名称值。
func unequeValues() {
var number = 1
for item in tricks {
if item.contains("\(number)") {
print(item)
number += 1
}
}
}
解决方案
使用 String 类中的 rangeOfCharacter 方法的简单 Swift 4 版本:
let myArray = ["bla_01", "bla_02", "tra", "bla", "tra_01", "tra_14"]
let filteredArray = myArray.filter{$0.rangeOfCharacter(from: .decimalDigits) != nil }
.sorted{$0.localizedStandardCompare($1) == .orderedAscending}
推荐阅读
- character-encoding - python 和 C++ 中的日语编码 JIS_X_0208 代码页
- python - 由另一个控制一个python脚本的合适方法
- java - 有没有办法从 GitHub 读取文件并使用 Java 在控制台中打印它?
- r - 在R中为序列中断创建分类变量?
- ios - 在 swift 4.0 中获取 JSON 数据时出错
- java - TopDocs.totalHits 与 Indexsearcher.search 的参数“n”之间的关系
- mopub - MoPub GDPR SDK - 如何测试?
- powershell - 获取 wmiobject 脚本不工作
- c# - Selenium如何确定元素是否有孩子?
- python - 为什么numpy会在字符串转换时截断数字?