Добрый день!
Есть строка, номер аккаунта пользователя, которая показывается в следующем виде: 000000000000\имя аккаунта\1000\имя пользователя
в дальнейшем для проверок используется только первые числа, а именно номер аккаунта. Причем данный номер может быть любой длинны - от 7 до 20 чисел.
Погуглив я нашла следующее решение:
String fromAccount = (Account).replace("(^.+\\D)(\\d+)(\\D.+$)/i","$2");
Но оно не работает, т.е. строка остается без изменений.
Есть еще такое решение:
String s = "2011-10-20 525 14:28:55 10";
Pattern p = Pattern.compile("(^|\\s)([0-9]+)($|\\s)");
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println(m.group(2));
}
И еще, результат вырезания мне нужно получить в виде строки, чтобы иметь возможность провести дальнейшие assert'ы...
но я, честно говоря, не могу понять подходит ли оно для моей ситуации.
Буду благодарна за совет, так как в регулярных выражениях я совсем не сильна, к сожалению...
selenium 2 + java. Вырезать первое по порядку число из строки
Автор Lace, 26 фев 2013 11:36
Сообщений в теме: 6
#1
Отправлено 26 февраля 2013 - 11:36
#2
Отправлено 26 февраля 2013 - 12:31
Что нибудь такое быть может?
String s = "000000000000\\имя аккаунта\\1000\\имя пользователя"; Pattern p = Pattern.compile("^\\d+\\\\"); Matcher m = p.matcher(s); if(m.find()) System.out.println(s.substring(m.start(),m.end()-1));
#3
Отправлено 26 февраля 2013 - 12:39
Обрезайте строку после встречи первого символа "\". Что-то вроде этого.
#4
Отправлено 26 февраля 2013 - 12:58
Что нибудь такое быть может?
String s = "000000000000\\имя аккаунта\\1000\\имя пользователя"; Pattern p = Pattern.compile("^\\d+\\\\"); Matcher m = p.matcher(s); if(m.find()) System.out.println(s.substring(m.start(),m.end()-1));
А как полученный результат можно вывести в строку?
Потому что в консоли никакого результата от этого метода мне не вывелось...
#5
Отправлено 26 февраля 2013 - 13:05
символа "\" - я поставила для наглядности. В реале там идут пробелы. От одного до трех.Обрезайте строку после встречи первого символа "\". Что-то вроде этого.
И глупый вопрос, как обрезать строку до первого пробела?
#6
Отправлено 26 февраля 2013 - 13:05
String s1 = s.substring(m.start(),m.end()-1);
#7
Отправлено 26 февраля 2013 - 14:03
В моем - описанном выше - данном конкретном случае проблему решила следующим образом:
способ нашла вот здесь: http://stackoverflow...space-occurence
public String AccountData() { String Account = Driver().findElement(By.xpath("нужный xpath")).getText(); String fromAccount = Account.substring(0,Account.indexOf(' ')); return fromAccount;
способ нашла вот здесь: http://stackoverflow...space-occurence
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных