我想编写一个将CamelCase转换为人类可读名称的方法.
这是测试用例:
public void testSplitCamelCase() {
assertEquals("lowercase", splitCamelCase("lowercase"));
assertEquals("Class", splitCamelCase("Class"));
assertEquals("My Class", splitCamelCase("MyClass"));
assertEquals("HTML", splitCamelCase("HTML"));
assertEquals("PDF Loader", splitCamelCase("PDFLoader"));
assertEquals("A String", splitCamelCase("AString"));
assertEquals("Simple XML Parser", splitCamelCase("SimpleXMLParser"));
assertEquals("GL 11 Version", splitCamelCase("GL11Version"));
}
Run Code Online (Sandbox Code Playgroud) 我有这样的字符串String str = "la$le\\$li$lo".
我想拆分它以获得以下输出"la","le\\$li","lo".\ $是一个$转义所以它应该留在输出中.
但是,当我做 str.split("[^\\\\]\\$")ÿ得到"l","le\\$l","lo".
从我得到的我的正则表达式匹配$和i $然后删除.知道如何让我的角色回来吗?
谢谢
我需要检查一个字符串,该字符串应该只包含ABCDEFG字符,任何顺序且只有7个字符.请告诉我使用正则表达式的正确方法.
正如我正在使用的那样
String abs = "ABPID";
if(!Pattern.matches("[[ABCDEFG]", abs))
System.out.println("Error");
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码,当我使用String abcdefg时,它可以工作,但对于其他情况,它会失败.请帮帮我.
在SO 上有关于正则表达否定的问题很多 .
我不确定我理解为什么人们觉得有必要否定一个正则表达式.
为什么不使用这样的东西grep -v只显示与正则表达式不匹配的结果?
$ ls
april august december february january july june march may november october september
$ ls | grep ber
december
november
october
september
$ ls | grep -v ber
april
august
february
january
july
june
march
may
Run Code Online (Sandbox Code Playgroud)