Jak połączyć łańcuch w Swift?
W Objective-C
lubimy
NSString *string = @"Swift";
NSString *resultStr = [string stringByAppendingString:@" is a new Programming Language"];
lub
NSString *resultStr=[NSString stringWithFormat:@"%@ is a new Programming Language",string];
Ale chcę to zrobić w języku Swift.
string
swift
concat
string-concatenation
Rajneesh071
źródło
źródło
Odpowiedzi:
Możesz łączyć łańcuchy na kilka sposobów:
Możesz także:
Jestem pewien, że jest też więcej sposobów.
Trochę opisu
let
tworzy stałą. (trochę jakNSString
). Nie możesz zmienić jego wartości po jej ustawieniu. Nadal możesz go dodawać do innych rzeczy i tworzyć nowe zmienne.var
tworzy zmienną. (coś w styluNSMutableString
), abyś mógł zmienić jego wartość. Ale na to przepełniono stos kilka razy (patrz różnica między let i var ).Uwaga
W rzeczywistości
let
ivar
są bardzo różni się odNSString
aNSMutableString
jednak pomaga analogię.źródło
let
tworzy stałą. (trochę jak NSString). Nie możesz zmienić jego wartości po jej ustawieniu. Nadal możesz go dodawać do innych rzeczy i tworzyć nowe zmienne.var
utwórz zmienną. (coś w rodzaju NSMutableString), więc możesz zmienić jego wartość. Ale na to pytanie kilkakrotnie odpowiedziano na SO. Wyglądadifference between let and var
Możesz dodać ciąg w następujący sposób:
str += ""
str = str + ""
str = str + str2
str = "" + ""
str = "\(variable)"
str = str + "\(variable)"
Myślę, że nazwałam je wszystkie.
źródło
źródło
To też zadziała:
źródło
\ służy to do dołączenia jednego ciągu do drugiego.
Możesz spróbować również: - + słowo kluczowe.
Wypróbuj ten kod.
źródło
źródło
Bardzo prosty:
źródło
let ResultString = "\(StringA)\(StringB)"
Możesz teraz używać stringByAppendingString w Swift.
źródło
Xcode nie akceptuje opcjonalnych ciągów dodawanych z normalnym ciągiem. Napisałem te rozszerzenia, aby rozwiązać ten problem:
Następnie możesz nazwać to tak:
Możesz jednak teraz zrobić coś takiego:
źródło
Nazywa się to interpolacją ciągów. Jest to sposób na utworzenie NOWEGO łańcucha z KONSTANCJAMI, ZMIENNYMI, LITERALAMI i EKSPRESJAMI. dla przykładów:
również
oznacza to także łączenie wartości ciągów.
Mam nadzieję, że to ci pomoże.
źródło
Aby wydrukować połączony ciąg za pomocą
lub String3 przechowuje dane wyjściowe kombinacji 2 ciągów
źródło
W Swift można również użyć stringByAppendingFormat.
źródło
Szybki 4.2
Możesz także użyć rozszerzenia:
Posługiwać się:
Wynik:
źródło
Od: Matt Neuburg Book „Podstawy programowania iOS 13 w Swift”. :
Aby połączyć (połączyć) dwa ciągi, najprostszym podejściem jest użycie operatora + :
Ta wygodna notacja jest możliwa, ponieważ operator + jest przeciążony: robi jedną rzecz, gdy operandy są liczbami (dodawanie liczbowe), a drugą, gdy operandy są ciągami (konkatenacja). Operatora + chodzi o + = przypisania skrótów; oczywiście zmienna po lewej stronie musi zostać zadeklarowana za pomocą var:
Jako alternatywę do + = , można wywołać append (_ :) metoda instancji:
Innym sposobem łączenia łańcuchów jest metoda join (separator :) . Zaczynasz od szeregu ciągów, które mają być konkatenowane, i podajesz ciąg, który ma zostać wstawiony między nimi:
źródło
Aby to zrobić, możesz użyć SwiftString ( https://github.com/amayne/SwiftString ).
ZASTRZEŻENIE: Napisałem to rozszerzenie
źródło
Właśnie zmieniłem Objective-C na Swift (4) i stwierdzam, że często używam:
źródło
W Swift 5 jabłko wprowadza Raw Strings przy użyciu # symboli.
Przykład:
symbol # jest konieczny po \. Zwykła \ (nazwa) będzie interpretowana jako znaki w ciągu.
źródło
Szybki 5
Możesz to osiągnąć za pomocą
appending
API. Zwraca nowy ciąg utworzony przez dodanie danego ciągu do odbiornika.Szczegóły API: tutaj
Użyj :
Wynik :
źródło