Как изменить Stringtokenizer на String
У меня есть мой код, который хотел бы изменить Stringtokenizer на String, потому что информация, которую я получаю, находится в предложении, и я хотел бы сократить ее до определенной части.
StringTokenizer numberOfPost_string = new StringTokenizer( numberOfPost_text , delimiters );
System.out.println( numberOfPost_string.nextToken() );
int numberOfPost = Integer.parseInt(numberOfPost_string);
Проблема, с которой я сталкиваюсь, заключается в line int numberOfPost = Integer.parseInt(numberOfPost_string);
где это дает мне ошибку.
Или есть другой способ сократить предложение и преобразовать его в целое число?
2 ответа
Вы, вероятно, хотите использовать возвращаемое значение nextToken
:
StringTokenizer numberOfPost_string = new StringTokenizer( numberOfPost_text , delimiters );
int numberOfPost = Integer.parseInt(numberOfPost_string.nextToken());
Вы также можете сделать это с split
: (хотя это, вероятно, немного менее эффективно)
int numberOfPost = Integer.parseInt(numberOfPost_text.split(delimiters)[0]);
Имейте в виду, что split
принимает регулярное выражение String
Таким образом, чтобы указать несколько вариантов для символов, вам нужно будет окружить их []
, Указать ;
, ,
или же :
:
String delimiters = "[;,:]";
Чтобы преобразовать токены в строку
String x = "";
StringTokenizer in = new StringTokenizer(str, ",;");
while(in.hasMoreTokens()) {
x = x + in.nextToken().toString();
}
System.out.print(x);