正则表达式剥离驱动器号

时间:2016-09-07 14:43:34

标签: java regex

我正在尝试检查我的字符串中是否有nodejs-easyjobs.rhcloud.com (54.208.77.250)后跟letter

如果是这样,请同时删除。

colon => F:/users/mark/

这是我到目前为止所做的:

/users/mark/

有没有人对如何做到这一点有更好的了解?

3 个答案:

答案 0 :(得分:2)

您可以使用:

path = path.replaceAll("^[a-zA-Z]:", "");

答案 1 :(得分:1)

您可以使用正则表达式^[^\/]*(.*)并捕获第一组。

sourceString = sourceString.replaceAll("^[^\\/]*(.*)", "$1");

DEMO

<强>输入

F:/users/mark/

匹配信息

MATCH 1
1.  [2-14]  `/users/mark/`

答案 2 :(得分:1)

您可以使用简单的字符串方法实现目标:

String path = "F:/some/path";
if (path.length() > 1 && Character.isLetter(path.charAt(0)) && path.charAt(1) == ':') {
    path = path.substring(2);
    System.out.println(path); // this is for demo
}

请参阅Java demo

其中:

  • path.length() > 1 - 如果path长度超过1
  • && Character.isLetter(path.charAt(0)) - 第一个字母是
  • && path.charAt(1) == ':' - 第二个字符为:
  • path.substring(2) - 使用从第二个索引开始的子字符串。

是的,不要忘记将结果分配给变量。