所以
split("There are fourty-eight characters in this string", 20)
Run Code Online (Sandbox Code Playgroud)
应该回来
["There are fourty-eig", "ht characters in thi","s string"]
Run Code Online (Sandbox Code Playgroud)
如果我使currentIndex = string.startIndex,然后尝试进一步提前()它比string.endIndex,我得到"致命错误:不能增加endIndex"之前我检查我的currentIndex <string.endIndex所以下面的代码没有'工作
var string = "12345"
var currentIndex = string.startIndex
currentIndex = advance(currentIndex, 6)
if currentIndex > string.endIndex {currentIndex = string.endIndex}
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的数组:
var names: String = [ "Peter", "Steve", "Max", "Sandra", "Roman", "Julia" ]
Run Code Online (Sandbox Code Playgroud)
我想从该数组中获取3个随机元素.我是从C#来的,但是我很快就不知道从哪里开始.我想我应该首先将阵列洗牌,然后从中挑选前3个项目?
我尝试使用以下扩展名对其进行随机播放:
extension Array
{
mutating func shuffle()
{
for _ in 0..<10
{
sort { (_,_) in arc4random() < arc4random() }
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它然后说"'()'在"shuffle()"的位置不能转换为'[Int]'".
为了挑选我使用的一些元素:
var randomPicks = names[0..<4];
Run Code Online (Sandbox Code Playgroud)
到目前为止看起来不错.
怎么洗牌?或者有没有人有更好/更优雅的解决方案?
如何将StringSwift中的给定分成给定长度的组,从右到左阅读?
例如,我有串1234567893.的和组的长度字符串应该被分为3组:123,456,789.字符串1234567将分为1,234,567
那么,你能在Swift中编写一些不错的代码吗:
func splitedString(string: String, length: Int) -> [String] {
}
Run Code Online (Sandbox Code Playgroud)
BTW试过功能split(),但据我所知它只能找到一些符号
如果我有一个一维数组:
oneDimArray = [1,2,3,4,5,6,7,8,9]
我已经有一个 3X3 的二维数组,其中有适当数量的插槽来适合数字
twoDimArray = [[0,0,0], [0,0,0], [0,0,0]]
...如何将 oneDimArray 数字放入 twoDimArray,例如:
[[1,2,3], [4,5,6], [7,8,9]]
?
我知道我可以用几个嵌套的 for 循环来做到这一点,但是有没有更简单、更实用的方法来做到这一点?