2012-08-30 107 views
0

提取的字符串我有一个这样的字符串:爪哇 - 从另一字符串

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

我怎么能砍http://www.fam.com/FAM#12/06/2011,以获得唯一Bruno

格式始终是:

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

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

+5

(http://www.whathaveyoutried.com/)我的意思是,除了* *要求在互联网上随机陌生人为你做它。 –

+0

subString方法是你的朋友。 – Averroes

+0

我不会使用子字符串。这不是很有前途,并且在代码中不能很好地表达他在URL的部分部分之后。 – Hbcdev

回答

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文档。

+0

他也想删除日期。 – assylias

+0

啊,我错过了。 – Jesper

0

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

1

只要做到这一点:

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

必须使用标准URL解析代码,如Could you share a link to an URL parsing implementation?

我期望URL分析器可以处理这样一个事实,即您的Ref(即“Bruno12/06/2011”)包含斜杠。

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

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

1

用途:?你尝试过什么]

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