我正在尝试对字符串/home/user/test.dat
我使用String[]拆分=file.split ("(?!.*/)");
但是拆分[1]只返回第一个字符而不是整个文件名。我将如何编辑我的正则表达式,以便它返回最后一个正斜杠之后的所有内容?
正则表达式
\/((\w+)\.(\w+))$
Debuggex演示
但是,由于您使用的是Java,因此只需将字符串加载到File helper中即可拉出文件名:
JAVA
Path p = Paths.get("C:\\Hello\\AnotherFolder\\The File Name.PDF");
String file = p.getFileName().toString();
除非有令人信服的理由使用正则表达式,否则我将使用简单的字符串。lastIndexOf(int)。比如,
String file = "/a/b/c/d/e/test.dat";
int afterSlash = file.lastIndexOf('/');
if (afterSlash > -1) {
file = file.substring(afterSlash + 1);
}
System.out.println(file);
上述产出为(所要求的)
test.dat
这是作为输入的字符串,但我只需要每一列,从第二列开始,即: 1(第二行) 2和1(第三行) 1(第五排) 这个在可能有多少行或多少列(列被一个空格分割)方面没有固定的大小。 我认为通过使用以下工具,这相当容易: 我需要第一列之后的每一列。我仍在学习regex,但似乎找不到一个好的解决方案。我知道关于拆分的“\\r?\\n”和“”,但不知道如何将两者连接起来以获取每一列。非常感谢您的帮助:) 另一个
我尝试了这种模式,但发现第一个匹配的句子带有符号
我有 REGEX,我希望在下面排除某些字符。正确排除这些字符:£“~#¬|{} 但这些不是: @[]/?;: 因此,例如,test£test 被正确标识为无效,但test@test被错误地标识为有效。 在https://regex101.com/上测试发现问题在于括号,并指出我需要转义第一个([括号]和-[连字符],就像这样- ^[a-zA-z0-9!$%^ 有什么办法可以让这个正则表达式按照我想
我有一份清单 我如何迭代列表并解析所有字符串,以便在迭代结束时我可以有一个包含如下内容的字符串
示例: 谢谢你。