我想从字符串中删除字母,我使用了替换函数,如下所示
String hello = "hello007";
hello = hello.replaceAll("[^\\d]", "");
它有效,但我知道它是如何工作的?什么是“^”和“// d”? 我知道^是“xor”。但无法理解用法?
为什么我们在[]下覆盖它?请指导我?
答案 0 :(得分:3)
表达式[^ \\ d]表示不是数字
[] means one of these..
[^ ..] means (not one of these)
\ is escape character (because in Java you need to escape it)
\d means digit
因此,如果您查看在线检查员,则需要查找\ d,这意味着所有数字都与
相同[^0-9]
所以它会匹配' h''' l',' l',' o&#39 ;并用空格("")
替换每一个答案 1 :(得分:2)
Date/time,Field1_avg,Field1_std,Field2_max,Field2_min,Field3_std,Field3_avg
2014-11-19 23:50:00,3.5,0,1,4.8,0.9,9.6,0.75
2014-11-20 23:50:00,4.5,0,1,4.3,0.9,9.1,0.75
2014-11-21 23:50:00,4.5,0,1,4.3,0.9,9.1,0.75
#MOREDATA and before the headers start a line empty
#line empty
[header]
name='blabla'
height=23
[header1]
#and so on
匹配括号中的任何单个字符[...]
匹配行的开头^
匹配括号内的任何单个字符[^...]
匹配数字(相当于[0-9])答案 2 :(得分:1)
您正在使用正则表达式。你所说的是“不用任何东西替换每个[不是一个数字]”。
这里有更多关于Java中的regexp:
答案 3 :(得分:1)
无论内容是什么,都是正则表达式。
此链接http://regexone.com/将有助于了解正则表达式。
hello = hello.replaceAll(“[^ \ d]”,“”); works是,在hello存储的值中,每个字符都被一个空字符替换,并再次存储在hello中。