我有一个这样的字符串:
http://www.fam.com/FAM#Bruno12/06/2011
怎样才能切http://www.fam.com/FAM#
得12/06/2011
只得Bruno
。
格式始终为:
http://www.fam.com/FAM#NAMEDATE
有没有一种简单的方法可以做到这一点?你能解释一下怎么做吗?
只需这样做:
myString = original.substring(23, original.length() - 10);
23
是为了http://www.fam.com/FAM#
original.length() - 10
是为了12/06/2011
采用 :
String str = "http://www.fam.com/FAM#Bruno12/06/2011";
String[] arr = str.split("#|[\\d+/]"); // last index of arr is Bruno
使用正则表达式#(.*?)\\d\\d/
来捕获它。
如果字符串始终以开头,http://www.fam.com/FAM#
那么它很简单:即 23 个字符,因此从位置 23 获取子字符串(注意索引是从零开始的)。
String input = "http://www.fam.com/FAM#Bruno12/06/2011";
String result = input.substring(23);
如果您想要#
字符串中第一个之后的所有内容,则搜索#
并获取它之后的所有内容:
int index = input.indexOf('#');
String result = input.substring(index + 1);
(为简单起见,省略了错误检查)。
要删除日期,请删除最后 10 个字符。
String
有关有用的方法,请参阅类的 API 文档。
您应该使用标准的 URL 解析代码,如您能否分享指向 URL 解析实现的链接?
我希望 URL 解析器可以处理您的Ref
(即“Bruno12/06/2011”)包含斜杠的事实。
URL url = new URL(inputString);
String nameDate = url.getRef();
用最简单、最清晰的形式表达你想做的事情。