2013-12-13 7 views
0

Мне нужно найти нулевое значение внутри строки. Для примераString- Finding Null Value

String x= "isPay=false, isAlreadyRented=false, differenceBetweenStartTimeandNow=, thumbnailUrl=http://"; 
char strline2[] = x.toCharArray(); 
for (i = pos + 50; strline2[i] != '=' && i < strline2.length - 1; i++) 
    ; 
i = i + 1; 
for (i = i; i < strline2.length - 284; i++) { 
    if (strline2[i] == ',') { 
     for (i = i; strline2[i] != '=' && i < strline2.length - 1; i++) 
      ; 
     i = i + 1; 
     br_output.write("\t"); 
    } 
    if (strline2[i] != ',' && strline2[i] != '=') 
     br_output.write(strline2[i]); 
} 

от этого я обхода до =, извлечь значения между = и , и сохранить его в файл. Поэтому, когда нет значения, например differenceBetweenStartTimeandNow=,, он должен написать NULL в файле. Может ли кто-нибудь помочь мне в этом.

+2

1) Используйте последовательный и логический отступ для кодовых блоков. Отступ кода предназначен для того, чтобы помочь людям понять поток программы. 2) Пожалуйста, добавьте письмо в верхнем регистре в начале предложений. Также используйте капитал для слова I, аббревиатуры и аббревиатуры, такие как JEE или WAR. Это облегчает людям понимание и помощь. –

+0

1) Пожалуйста, отформатируйте свой код правильно, он не читается (2) Почему разные значения присваиваются 'i' в каждой строке, но никогда не используются для каких-либо вычислений? Что означает «я»? –

ответ

0

Try:

String x= "isPay=false, isAlreadyRented=false, differenceBetweenStartTimeandNow=, thumbnailUrl=http://"; 
x = x.replaceAll("=,", "=NULL,"); 

Это заменит все пустые значения, то есть = с = NULL, а затем вы можете продолжить логику извлечения значения и сохранения его в файле

Я надеюсь, что это помогает

+0

спасибо prashant, он отлично работает ... – Samsudhin

+0

"Id: null sourceType: ENTITY title: Episodes: Friends callSign: null channelNumber: null" та же проблема с tis string также, можете ли вы помочь с tis prasanth. Значение «title:» должно быть записано как «null» – Samsudhin

0

попробовать

if(strline2[i] == '=' && strline2[i+1] == ','){ 
    r_output.write("NULL"); 
    continue 
} 
0

использование split как показано б elow:

 String[] strline2 = x.split("=*,"); 

     for (int i = 0; i < strline2.length; i++) 
     { 
      int index = strline2[i].indexOf('='); 
      if(index < 0) 
       br_output.write("NULL");     
      else 
       br_output.write(strline2[i].substring(index+1, strline2[i].length())); 
     }