2012-05-25 3 views
0

У меня есть строка в Iphone, который выглядит как следующему:iphone строка заменить только первое вхождение с другой строкой

my.whatever.string.with.unknown.length=something whatever something = something .... = whatever 

Я хочу, чтобы заменить только первый «=» с чем-то еще.

Если я использую:

[myString stringByReplacingOccurrencesOfString:@"=" withString:@"somethingHere" ]; 

Он заменит все вхождения "=". Любые предложения о том, как достичь этого?

ответ

3

Вы можете использовать аргумент range, чтобы указать, как далеко в строку вы хотите ее искать. Предполагая, что вы можете найти, где находится первый =, вы можете использовать его для этого. Определение метода выглядит следующим образом:

replaceOccurrencesOfString:withString:options:range: 
+6

это полный ответ !! Спасибо ... myString = [myString stringByReplacingOccurrencesOfString: @ "=" withString: @ "replaceWithThis" options: NSLiteralSearch range: [line rangeOfString: @ "="]]; – Panos

+2

@ Решение Panos отлично работает. Просто FYI для новых читателей, 'line' на самом деле' myString'. – daspianist

-4

Вы можете заменить строку, как это ..

NSString *mystring=FIRST; 
NSString *trimmedString = [mystring stringByReplacingOccurrencesOfString:@" " withString:@""]; 
+2

Вы прочитали мой вопрос ???? Я прямо сказал, что это заменяет ВСЕ вхождения. Я хочу только первый. – Panos

+0

Это более общий вопрос. Но не отвечайте на вопрос ... – StefMa

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