Java - 从另一个字符串中提取字符串

时间:2012-08-30 11:31:25

标签: java string

我有一个像这样的字符串:

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

如何剪切http://www.fam.com/FAM#12/06/2011才能获得Bruno

格式始终为:

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

有一种简单的方法吗?你能解释我怎么样?

5 个答案:

答案 0 :(得分:1)

只需这样做:

myString = original.substring(23, original.length() - 10);
  • 23适用于http://www.fam.com/FAM#
  • original.length() - 10适用于12/06/2011

答案 1 :(得分:1)

使用:

String str = "http://www.fam.com/FAM#Bruno12/06/2011";
String[] arr = str.split("#|[\\d+/]"); // last index of arr is Bruno

答案 2 :(得分:0)

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

答案 3 :(得分: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文档。

答案 4 :(得分:0)

您应该使用标准网址解析代码,例如Could you share a link to an URL parsing implementation?

我希望网址解析器可以应对您的Ref(即“Bruno12 / 06/2011”)包含斜杠的事实。

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

以最简单,最清晰的形式表达您想要做的事情。