Son karakteri bir dizgiden kaldırmak için birçok yöntem gördüm. Ancak, endeksine dayanarak eski karakterleri kaldırmanın bir yolu var mı? Her zaman dize kontrol etmelidir TabiiDizeden nth karakteri çıkar
var s = "Hello, I must be going"
s.removeAtIndex(advance(s.startIndex, 5))
println(s) // prints "Hello I must be going"
: string endeksleri rasgele erişimli değildir ve sayılar olmasa da
yerine önceden * uzunluk * kontrol w bir alternatif olarak izin 'indeksi = ileri (s.startIndex, 5, s.endIndex) kullanabilir; eğer indeks! = s.endIndex {s.removeAtIndex (index)} '. –
Harika bir nokta. Bir şekilde, 'bul' benzeri bir isteğe benzer bir seçenek döndürdüyse iyi olurdu, ama sanırım bunun anlamı, 'sonun' sonuna eklemek yerine yasal bir endeks olduğu durumlarda daha az yararlı olacaktır. -eksa sentinel. –
Evet. [Here] (http://stackoverflow.com/a/26691258/1187415), bu 'advance()' yönteminin geçerli (isteğe bağlı olmayan) bir dizin döndürdüğü gerçeğin kullanıldığı basit bir örnektir. –