0

我有一个这样的字符串:

http://www.fam.com/FAM#Bruno12/06/2011

怎样才能切http://www.fam.com/FAM#12/06/2011只得Bruno

格式始终为:

http://www.fam.com/FAM#NAMEDATE

有没有一种简单的方法可以做到这一点?你能解释一下怎么做吗?

4

5 回答 5

1

只需这样做:

myString = original.substring(23, original.length() - 10);
  • 23是为了http://www.fam.com/FAM#
  • original.length() - 10是为了12/06/2011
于 2012-08-30T11:35:18.940 回答
1

采用 :

String str = "http://www.fam.com/FAM#Bruno12/06/2011";
String[] arr = str.split("#|[\\d+/]"); // last index of arr is Bruno
于 2012-08-30T11:37:25.240 回答
0

使用正则表达式#(.*?)\\d\\d/来捕获它。

于 2012-08-30T11:34:14.637 回答
0

如果字符串始终以开头,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 文档。

于 2012-08-30T11:34:54.217 回答
0

您应该使用标准的 URL 解析代码,如您能否分享指向 URL 解析实现的链接?

我希望 URL 解析器可以处理您的Ref(即“Bruno12/06/2011”)包含斜杠的事实。

URL url = new URL(inputString);
String nameDate = url.getRef();

用最简单、最清晰的形式表达你想做的事情。

于 2012-08-30T11:35:30.837 回答