如何在特定字符之前剪切所有内容

时间:2014-06-13 05:46:34

标签: java regex trim

早上好, 我是Java新手,我想剪掉这个字符串:

"jdbc:hsqldb:mem:testdb" 

进入这个:

"testdb"

我用regex尝试过,但我怎么说,我是新手,我不知道正则表达式的语法非常好。我试过这样的事情:

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

如果有人能帮助我,我会很高兴的。谢谢你的回答

3 个答案:

答案 0 :(得分:4)

如果您只知道上一个:之后的所有内容,那么您只需使用

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

当然你应该确保它实际上包含分隔符......

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

你也可以使用String#split并抓住你想要的元素......

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

正如@MadProgrammer在评论中所说的那样,"不止一种方法可以剥皮鱼......"

如果您希望使用regex为这条鱼皮肤,这将有效:

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