我有一个字符串,我想在转义字符之间提取子字符串。
e.g。
AC001 (\\Test123\homedir$) (H:)
如何在java中获得Test123
答案 0 :(得分:1)
尝试,
String input = "AC001 (\\Test123\\homedir$) (H:)";
String regex="(\\\\.*\\\\)";
Pattern ptrn = Pattern.compile(regex);
Matcher mtchr = ptrn.matcher(input);
while (mtchr.find()) {
String res=mtchr.group();
System.out.println(res.substring(1, res.length()-1));
}
答案 1 :(得分:0)
如果没有正则表达式,你可以这样做:
String str = "AC001 (\\\\Test123\\homedir$) (H:)";
String substr = str.substring(str.indexOf('\\')+2, str.indexOf('\\', str.indexOf('\\')+2));
//=> Test123
答案 2 :(得分:0)
String s = "AC001 (\\Test123\homedir$) (H:)";
s = s.substring(s.indexOf('\\') + 2);
s = s.substring(0, s.indexOf('\\'));
System.out.println(s);
答案 3 :(得分:0)
在一行中:
String middle = str.replaceAll(".*\\\\(.*?)\\h.*", "$1");
此正则表达式匹配整个字符串,但捕获目标,该目标是使用后引用返回的。