2015-05-03 2 views
-4

если у меня есть String, что у меня несколько применений, как мне отредактировать один раздел строки?Как изменить одну область строки?


Такие, как:

String Output="|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |"; 

Как бы я изменил, а затем прочитать только первый ноль? И тогда сделайте то же самое для остальных. Сделать их собственными переменными.

+1

'string.replaceFirst ("0", «Foo»); ' –

+2

Похоже, вы можете использовать' String', когда другой тип, такой как 'int []' или 'List 'может быть лучше. –

+0

Вы действительно не должны пытаться манипулировать данными в этой форме. Это неудобно, это медленно, и это непрозрачно. Если это вообще возможно, используйте массив или список для ваших переменных. – Boann

ответ

0

Попробуйте что-то вроде:

String splits = s.replace("|", "").split(" "); 
System.out.println(splits[0]); 
0

Как бы я изменил, а затем прочитать только первый ноль? И тогда сделайте то же самое для остальных. Сделать их собственными переменными.

Я бы не стал. Я бы использовал массив или List, или свойства объекта, или отдельные переменные, в зависимости от варианта использования.

Но если вы действительно, действительно хотите, вы можете прочитать любой из этих значений как этот

int value = Integer.parseInt(Output.substring((n * 4, 2).trim()); 

... где n равен нулю на основе индекс записи, которую вы хотите получить значение ,

Вы можете написать любое из этих значений, как это:

String vstr = String.valueOf(value); 
if (vstr.length < 2) { 
    vstr += " "; 
} 
Output = Output.substring(0, ((n - 1) * 4) + 2) + vstr + Output.substring(n * 4); 

Но это читаемым? Нет. Эффективно? Нет. :-)

Сравните, скажем, в int[]:

int[] values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 

Reading:

int value = values[n]; 

Запись:

values[n] = value; 
Смежные вопросы