2015-05-28 4 views
-1

У меня есть ряд переменных строк, такого типаразбираемой строки Java получить индекс

String 1 = s3345 section sector ground 
    String 2= s35 section sector ground 
    String 3= s99983 section sector ground 

я должен принимать только значение с, но это значение не является фиксированной, но переменной. Как я могу найти окончательный индекс s?

+0

это даже скомпилировано? – Abubakkar

+0

Какой? Первый или любой s? – Thomas

+0

Вы можете разделить строку на '' '' и использовать первую часть этого расщепленного текста, если ваш номер входит в начало. –

ответ

0

Предполагая, что число всегда приходит начиная

String s = "s3345 section sector ground"; 
System.out.println((s.split(" "))[0]); //check has to be applied for empty string. 
1

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

String input = "s3345 section sector ground"; 
String number = input.replace(".*\\bs(\\d+)\\b.*", "$1"); //number would be "3345" 

Если входная строка несколько неподвижной , т. е. всегда s<value> section sector <name> вы можете добавить это в регулярное выражение, чтобы сделать его более строгим.

+0

, что регулярное выражение будет соответствовать любому символу, который предшествует s, как as3345, поэтому я бы сделал регулярное выражение совпадением пробелов до и после, как это ». * \\ s * s (\\ d +) \\ s *. *" –

+1

@ sharonbn, если перед этой строкой есть пробел, тогда да. Лучшим решением будет слово граница '\ b' - я добавлю это. – Thomas

0

Я предполагаю, что вы хотите только номер от каждой переменной в виде строки.

String one = "s3345 section sector ground"; 
    String two = "s35 section sector ground"; 
    String three = "s99983 section sector ground"; 

    // better off importing Scanner normally like this: 
    // import java.util.*; 
    // the star means to import every class including Scanner 
    java.util.Scanner in = new java.util.Scanner(one); 
    String num = in.next(); 
    num = num.substring(1,num.length()); 

    System.out.println(num); 

новичков советы:

  • Будьте осторожны именования переменных. Они должны начинаться с буквы или подчеркивания. Не число.
  • убедитесь, что каждый строковый литерал (значение) находится в двойных кавычках.
  • убедитесь, что вы заканчиваете каждое утверждение точкой с запятой ->;