Мне нужно удалить все виды "веб-начинаний" из моей строки
My TextView должен быть без "http://", "http://www.", "www." и другие префиксы URL.
Пожалуйста, помогите мне в этом?
Мне нужно удалить все виды "веб-начинаний" из моей строки
My TextView должен быть без "http://", "http://www.", "www." и другие префиксы URL.
Пожалуйста, помогите мне в этом?
Вы можете сделать это, используя регулярное выражение
"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
Используйте экземпляр URI
и используйте его для разделения, но вы хотите:
URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
вы можете использовать String replace.
String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
Я предполагаю, что когда вы говорите "веб-начинания", вы имеете в виду "протоколы". Подробнее о URL-адресах можно узнать в RFC или wikipedia.
Вообще говоря, вы не можете удалить "www". от URL-адреса и гарантировать, что URL-адрес укажет на тот же хост. Если все, что вы хотите сделать, это скрыть его от пользователя, это прекрасно, но я лично считаю, что это раздражает.
Следующий код разделит все протоколы, о которых знает Java, а не только http. Не все протоколы имеют //, поэтому вам нужно вручную проверить это. Класс Java URL-адрес может разбивать URL-адрес так, как вы хотите.
import java.net.URL;
public class test
{
public static void main(String[] args)
{
try {
URL url = new URL(args[0]);
String protocol = url.getProtocol();
String result = args[0].replaceFirst(protocol + ":", "");
if (result.startsWith("//"))
{
result = result.substring(2);
}
System.out.println(result);
} catch (Exception e) {
System.out.println(e);
}
}
}
Вы можете использовать метод String.replace().
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html