Извлечение / манипуляция строк в Java - PullRequest
3 голосов
/ 16 марта 2011
String url = "http://someurl/search.do?/remainingurl"

Я хотел бы очистить вышеуказанную строку от первого символа до search.do?

То есть результирующая строка будет выглядеть так:

String scrapedUrl = "http://someurl/search.do?"

Есть ли в Java операция String для выполнения вышеуказанного действия?

Спасибо, Sony

Ответы [ 8 ]

4 голосов
/ 16 марта 2011

Используйте регулярное выражение:

String scrapedUrl = url.replaceAll("(.*?search\\.do\\?).*", "$1");

Конечно, вы можете использовать indexOf решения и все такое, но ваше требование состояло в том, чтобы точно «соответствовать» всему до первого search.do?,Такую операцию лучше всего выполнять с помощью регулярного выражения.

1 голос
/ 16 марта 2011

Попробуйте это (не проверено):

int index = url.indexOf("?");
if (index >= 0)
    url= url.substring(0, index);

Он ищет первое вхождение '?' символ и, если найден, отрубает следующие символы.

0 голосов
/ 16 марта 2011

Вы можете использовать подстрока и indexOf

String scrapedUrl = url.substring(0, url.indexOf('?');
0 голосов
/ 16 марта 2011

Я бы порекомендовал:

int index = url.indexOf("?");
String newURL = url.subString(0,index);
0 голосов
/ 16 марта 2011
    String url = "http://someurl/search.do?/remainingurl";
   String scrapedUrl =url.substring(0,url.lastIndexOf("?")+1);
   System.out.println(scrapedUrl);
0 голосов
/ 16 марта 2011
final String splitter = "search.do?";
String[] strings = url.split("search\\.do\\?");
String scrapedUrl = strings[0] + splitter;

Чтение больше .

0 голосов
/ 16 марта 2011

Да, используйте это: subString(start, end) и indexOf(string)

0 голосов
/ 16 марта 2011

Вы можете использовать комбинацию indexOf () и subString (), чтобы разделить строку. Проверьте методы String в API:

http://download.oracle.com/javase/6/docs/api/java/lang/String.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...