2015-01-15 3 views
12

Я хочу заменить некоторый текст в строке другой строкой.Как заменить строку на строку в Swift?

Например: Строка равна «Красный маленький автомобиль». Я хочу заменить «маленький» на «большой», поэтому строка становится «Красный большой автомобиль». Я должен сделать это быстро. Благодарю.

+1

Он новичок, пожалуйста, не любят его. Это заставит его разочароваться в StackOverflow. –

ответ

26

Вы можете попробовать использовать stringByReplacingOccurrencesOfString

let string = "Big red car" 
let replaced = (string as NSString).stringByReplacingOccurrencesOfString("Big", withString: "Small") 
+0

Это дает мне ошибку в REPL: 'error: не может вызывать 'stringByReplacingOccurrencesOfString' со списком аргументов типа '(StringLiteralConvertible, withString: StringLiteralConvertible)'', w.o. литой, он работает. –

+2

@SebastianDressler: Какую версию Xcode вы используете? Этот код компилируется и работает отлично (а также ваш) в Xcode 6.1.1. Конечно, использование NSString в REPL требует, чтобы вы импортировали «Фонд». - В любом случае, этот вопрос уже задан и ответил (возможно, не раз). –

+0

@MartinR это 6.1.1, и я импортировал 'Foundation'. Очень странно ... –

15

Вы можете использовать stringByReplacingOccurrencesOfString, например.

let s1 : String = "Red small car" 
let s2 = s1.stringByReplacingOccurrencesOfString("small", withString: "big") 
+1

replacingOccurrences (of:, with :) in swift 4 – franck

Смежные вопросы