2013-05-27 2 views
-2

У меня есть строка что-то вроде @"goodhouse=30&app=60&val=30askldkla" Как мне найти значение 30 между домом = и &, и изменить его на 50.как изменить значения в строке между буквами

Любые идеи?

Thx много

+0

я попробовал '[ул replaceOccurrencesOfString: @ withString "30": @ "60" вариантов: диапазон NSCaseInsensitiveSearch: NSMakeRange (0, str.length)];' но это не хорошо, если есть одно и то же значение – user2398911

ответ

1

если ([yourString rangeOfString: @ "30"] == местонахождения NSNotFound.) {
yourString = [yourString stringByReplaceOccurenceOfString: @ "30" withString @ "60"];

}

4

Вы можете найти диапазон между домом = и & строки с использованием NSRange. И если диапазон существует, измените нужную строку.

+0

, это плохо, потому что если диапазон диапазонов мне нужно все время, чтобы посчитать его. – user2398911

0

попробовать, как это,

[email protected]"30"; 
str=[str stringByReplaceOccurenceOfString:string [email protected]"50"]; 

EDIT: - попробовать, как это,

NSString *test = [dateandtime stringByReplacingCharactersInRange:NSMakeRange(10,2) withString:@"50"]; 
+0

Я пытаюсь, но проблема, если есть две строки с 30. она делает 50 для всех из них, но мне нужно только для одного – user2398911

+0

@ user2398911: проверить мой отредактированный ответ it'l поможет вам. – Balu

+0

Я написал об этом сверху, что использование nsrange плохо, потому что если строка будет динамической, я все время должен подсчитывать диапазон – user2398911

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