2012-09-19 6 views
-5

У меня есть текстовый файл, который содержит follwingНайти строку и заменить другую строку в Java

{"sno":"1c8d1d7eaa32ff3f58a8822111276d5a","at":"app","tt":{"AppParam1":"AppParamValue1","AppParam2":"AppParamValue2"}},"c":{"dt":"Microsoft XDeviceEmulator","pn":"WP","pv":"8.0.9832.0"} 

В Java я хочу найти «Sno», «рп» и «р» и заменить значение (то, что я имею в виду) в настоящее время выше текстовый файл имеет

"sno" has value "1c8d1d7eaa32ff3f58a8822111276d5a" 
"pn" has value "WP" 
"pv" has value "8.0.9832.0" 

Новые значения

"sno" has to be changed to "637829" 
"pn" has to be changed to "XYZ" 
"pv" has to be changed to "2.2.4.0" 

Ваша помощь очень ценится! Thanks

+4

[Что вы пробовали? ] (http://www.whathaveyoutried.com/) В стороне - в чем ваш вопрос? –

+3

Это похоже на JSON. Почему бы вам не попробовать JSON-библиотеку, а не придумать ее? –

ответ

0

Вы можете преобразовать его в формат JSON, сделать вас изменения, а затем преобразовать его вернуться к строке. Или, если вы действительно хотите, чтобы заменить эти значения самостоятельно, вы можете использовать эти строки:

yourstring = yourstring.replaceFirst("\"sno\":\"[^\"]+\"", "\"sno\":\"637829\""); 
yourstring = yourstring.replaceFirst("\"pn\":\"[^\"]+\"", "\"pn\":\"XYZ\""); 
yourstring = yourstring.replaceFirst("\"pv\":\"[^\"]+\"", "\"pv\":\"2.2.4.0\""); 

Только при наличии нет способа тезисов ключ может быть найден в другом месте в строке

+0

ok .. получил некоторую идею ... спасибо – user1677986

+0

Это то, что я искал ... Отлично! – user1677986

1

Это объект JSON.

Преобразуйте эту строку в объект JSON, измените значения и затем снова преобразуйте их в строку.

Здесь вы можете прочитать о JSON объектов в Java: http://www.json.org/java/

И здесь легко Tuto о том, как с ними работать: http://answers.oreilly.com/topic/257-how-to-parse-json-in-java/

+0

Да, вы правы, его json. Но я рассматриваю его как нормальное значение String и хочу заменить значения ключа adhoc – user1677986

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