838 Stimmen

Holen Sie sich die Länge eines Strings

Wie erhält man die Länge eines String? Zum Beispiel habe ich eine variable definiert wie:

var test1: String = "Scott"

Ich kann jedoch keine Längenmethode für den String finden.

1voto

brokenrhino Punkte 133
var str = "Hello, playground"
var newString = str as NSString    

countElements(str)

Dies zählt die Zeichen in einem regulären Swift-String.

countElements((newString as String))    

Dies zählt die Zeichen in einem NSString.

0voto

Swift 5.0 Zeichenfolgen können als ein Array von einzelnen Zeichen behandelt werden. Um die Länge einer Zeichenfolge zurückzugeben, können Sie daher yourString.count verwenden, um die Anzahl der Elemente im Array characters zu zählen.

0voto

Naresh Punkte 14268

In Swift 4.1 und Xcode 9.4.1

Die Methode, um die Länge in Objective-C und Swift zu erhalten, ist unterschiedlich. In Obj-C verwenden wir die Eigenschaft length, aber in Swift verwenden wir die Eigenschaft count

Beispiel:

//In Swift
let stringLenght = "This is my String"
print(stringLenght.count)

//In Objective c
NSString * stringLenght = @"This is my String";
NSLog(@"%lu", stringLenght.length);

0voto

Naresh Punkte 14268

In Swift 4.2 and Xcode 10.1

In Swift strings can be treated like an array of individual characters. So each character in string is like an element in array. To get the length of a string use yourStringName.count property.

In Swift

yourStringName.characters.count property in deprecated. So directly use strLength.count property.

let strLength = "This is my string"
print(strLength.count)
//print(strLength.characters.count) //Error: 'characters' is deprecated: Please use String or Substring directly

If Objective C

NSString *myString = @"Hello World";
NSLog(@"%lu", [myString length]); // 11

0voto

Sentry.co Punkte 4730

Universelle Swift 4 und 3 Lösung

/**
 * Seit Swift 4 gibt es auch native count, aber es gibt keinen Int zurück
 * HINWEIS: war: var count:Int { return self.characters.count }
 * BEISPIEL: "abc".count//Output: 4
 */
extension String{
    var count:Int {
        return self.distance(from: self.startIndex, to: self.endIndex)
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X