我需要从我的字符串中删除各种“网络起点”
我的 TextView 必须没有“http://”、“http:// www”。,“万维网” 和其他 URL 前缀。
请你能帮我解决这个问题吗?
使用一个实例URI
并使用它来拆分你想要的:
URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
您可以通过使用正则表达式来做到这一点
"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
您可以使用字符串替换。
String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
我假设当您说“网络开始”时,您的意思是“协议”。您可以在RFC或wikipedia中了解有关 URL 的更多信息。
一般来说,您不能删除“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