2014-06-13 5 views
0

좋은 아침 전에 모든 것을 절단하는 방법, 나는 자바의 새로운 그리고 난이 String 잘라 싶습니다이에특정 문자

"jdbc:hsqldb:mem:testdb" 

: 나는했습니다

"testdb" 

regex으로 tryed하지만, 내가 어떻게 말했는지, 나는 새롭고 정규식의 구문을 잘 모른다. 나는 이와 같은 것을 시도했다.

databaseName = databaseName.replaceAll("*.:", ""); 
System.out.println(databaseName); 

누군가 나를 도울 수 있다면 기쁠 것이다. 귀하의 답변 주셔서 감사합니다

+0

http://docs.oracle.com/javase/7/docs/api/java/lang/String합니다. html은 그 위치에서'lastIndexOf (":")'와'substring()'을 얻는다. +1 –

답변

4

당신은

... 마지막 : 후 것만 모든 것을 당신은 단순히 당신이 실제로 구분 기호가 포함되어 있는지 확인해야 물론

databaseName = databaseName.substring(databaseName.lastIndexOf(":") + 1) 

을 사용할 수 있습니다 알고있는 경우

if (databaseName.contains(":")) {... 

당신은 또한 ... String#split를 사용하여 원하는 요소를 잡을 수

String parts[] = databaseName.split(":"); 
String name = parts[parts.length - 1]; 
+0

+1 (구분 기호) : P. – TheLostMind

+0

그것은 작동합니다, 고마워 MadProgrammer – user3734011

+0

@ user3734011 희망이 도움이됩니다. 이 물고기를 껍질을 벗기는 방법이 여러 가지 있습니다. 너에게 의미가있는 것을 사용하십시오. – MadProgrammer

3
String[] str = yourString.split(":"); 
//str[str.length -1] is your answer. 
+1

나에게 'split'을 두드 리게한다.) +1 – MadProgrammer

2

@MadProgrammer가 그의 코멘트에서 말하길, "이 물고기를 피하는 방법은 여러 가지가 있습니다 ...". 당신이 regex를 사용하여이 물고기을 피부에 을하고자하는 경우

, 이것은 작동합니다 :

databaseName = databaseName.replaceAll(".*(?=:)?:","");