Java 正则表达式来剥离驱动器号
我正在尝试检查我的字符串中是否有Java 正则表达式来剥离驱动器号,java,regex,Java,Regex,我正在尝试检查我的字符串中是否有字母后跟冒号 如果是的话,两个都脱光 F:/users/mark/=>/users/mark/ 这就是我到目前为止所做的: if(Pattern.matches("[a-zA-Z]:", path)) path = path.substring(2); 有人对如何实现这一点有更好的想法吗?您可以使用: path = path.replaceAll("^[a-zA-Z]:", ""); 您可以使用: path = path.replaceAll(
字母
后跟冒号
如果是的话,两个都脱光
F:/users/mark/
=>/users/mark/
这就是我到目前为止所做的:
if(Pattern.matches("[a-zA-Z]:", path))
path = path.substring(2);
有人对如何实现这一点有更好的想法吗?您可以使用:
path = path.replaceAll("^[a-zA-Z]:", "");
您可以使用:
path = path.replaceAll("^[a-zA-Z]:", "");
您可以使用regex
^[^\/]*(.*)
并捕获第一个组
sourceString = sourceString.replaceAll("^[^\\/]*(.*)", "$1");
输入
F:/users/mark/
匹配信息
MATCH 1
1. [2-14] `/users/mark/`
您可以使用regex
^[^\/]*(.*)
并捕获第一个组
sourceString = sourceString.replaceAll("^[^\\/]*(.*)", "$1");
输入
F:/users/mark/
匹配信息
MATCH 1
1. [2-14] `/users/mark/`
您可以通过简单的字符串方法实现您的目标:
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
}
看
其中:
-如果path.length()>1
长度超过1path
-第一个字符是一个字母&&Character.isleter(path.charAt(0))
-第二个字符是&&path.charAt(1)=':'
:
-使用从第二个索引开始的子字符串path.substring(2)
是的,不要忘记将结果分配给变量。您可以通过简单的字符串方法实现您的目标:
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
}
看
其中:
-如果path.length()>1
长度超过1path
-第一个字符是一个字母&&Character.isleter(path.charAt(0))
-第二个字符是&&path.charAt(1)=':'
:
-使用从第二个索引开始的子字符串path.substring(2)
是的,不要忘记将结果分配给变量。使用以下“^[a-zA-Z]:”这意味着您以驱动器号开头,后跟冒号。
path=path.replaceFirst(“^[a-zA-Z]:”,”)
匹配
不尝试检查某些子字符串是否匹配regex,而是检查整个字符串是否匹配它。您需要在正则表达式的末尾添加*
,使其与字符串的其余部分相匹配,或者改用Matcher.find()
。使用以下“^[a-zA-Z]:”表示以驱动器号开头,后跟冒号。path=path.replaceFirst(^[a-zA-Z]:”,“”)
匹配
不尝试检查某些子字符串是否匹配regex,而是检查整个字符串是否匹配它。您需要在正则表达式的末尾添加*
,使其与字符串的其余部分匹配,或者使用匹配器.find()
。@Angelina我几乎可以肯定您将正则表达式放入了匹配项中。不要。只需使用path=path.replaceFirst(“^[a-zA-Z]:”,”)
@Angelina我几乎可以肯定你将正则表达式放入了匹配项中。不要。只需使用path=path.replaceFirst(“^[a-zA-Z]:”,”)代码>