Java 删除以a开头的单词!
在一行中,我想删除任何以Java 删除以a开头的单词!,java,regex,Java,Regex,在一行中,我想删除任何以开头的单词(否定标记) 有人能帮我在Java中使用正则表达式吗 String line = "hello world hello2 !xxx hello3, %643,!xxxxxxx. world5, !"; String pure = line.replaceAll("?", ""); 我想删除所有!xxx在该示例中 谢谢 我想把所有的都删除!在那个例子中是xxx 尝试: \p{L}匹配任何unicode字母,+表示“一个或多个” 演示: class Main {
开头的单词代码>(否定标记)
有人能帮我在Java中使用正则表达式吗
String line = "hello world hello2 !xxx hello3, %643,!xxxxxxx. world5, !";
String pure = line.replaceAll("?", "");
我想删除所有!xxx
在该示例中
谢谢
我想把所有的都删除!在那个例子中是xxx
尝试:
\p{L}
匹配任何unicode字母,+
表示“一个或多个”
演示:
class Main {
public static void main(String[] args) {
String line = "!café hello world hello2 !xxx hello3, %643,!xxxxxxx. world5, !";
String pure = line.replaceAll("!\\p{L}+", "");
System.out.println(pure);
}
}
产生:
hello world hello2 hello3, %643,. world5, !
我想把所有的都删除!在那个例子中是xxx
尝试:
\p{L}
匹配任何unicode字母,+
表示“一个或多个”
演示:
class Main {
public static void main(String[] args) {
String line = "!café hello world hello2 !xxx hello3, %643,!xxxxxxx. world5, !";
String pure = line.replaceAll("!\\p{L}+", "");
System.out.println(pure);
}
}
产生:
hello world hello2 hello3, %643,. world5, !
/\w*/
或许
/\w+/
/\w*/
或许
/\w+/
这是您想要的strip-words-beging-with-a-specific-letter-from-a-statement-using-regex这是您想要的strip-words-beging-with-a-specific-letter-from-a-statement-using-regex这在最后一个字符上失败。@Rafe,OP说“在那个例子中,我想删除所有的!xxx”。最后的
不是这样的东西(后面没有单词),所以我认为它应该留在那里。此外,你如何确切地知道什么时候失败了?我是说你不是问这个问题的人,对吧?巴特。。。这太棒了!谢谢。我只需要删除单词,如果有一个!在它之前。这在最后一个字符上失败。@Rafe,OP说“我想删除该示例中的所有!xxx”。最后的
不是这样的东西(后面没有单词),所以我认为它应该留在那里。此外,你如何确切地知道什么时候失败了?我是说你不是问这个问题的人,对吧?巴特。。。这太棒了!谢谢。我只需要删除单词,如果有一个!在此之前。@hese,这只适用于ASCII字符a-z和a-z,而不适用于unicode或扩展ASCII字符。因此,如果您只担心ascii码,这是一种方法,否则,请将\w
替换为\p{L}
是的,这不起作用,因为文本是unicode码。我使用的是\p{L}。正如任何编写[a-z]
的代码几乎肯定都是事实上被破坏的一样,由于Java天生的白痴性和与\w
,\s
相对的破碎性,\s
,朋友们必须将所有此类使用归入同一类别:天生被破坏。@Bart:(在此继续)虽然这可能是人们想要的,但仅仅用\pL
替换\w
是不一样的,因为\w
的正常意义相当广泛,不仅包括字母\pL
,而且还包括十进制数\p{Nd}
、连接器标点\p{Pc}
、字母数\p{Nl code>,变音符号\pM
,以及其他一些。@hese,这只适用于ASCII字符a-z和a-z,不适用于unicode或扩展ASCII字符。因此,如果您只担心ascii码,这是一种方法,否则,请将\w
替换为\p{L}
是的,这不起作用,因为文本是unicode码。我使用的是\p{L}。正如任何编写[a-z]
的代码几乎肯定都是事实上被破坏的一样,由于Java天生的白痴性和与\w
,\s
相对的破碎性,\s
,朋友们必须将所有此类使用归入同一类别:天生被破坏。@Bart:(在此继续)虽然这可能是人们想要的,但仅仅用\pL
替换\w
是不一样的,因为\w
的正常意义相当广泛,不仅包括字母\pL
,而且还包括十进制数\p{Nd}
、连接器标点\p{Pc}
、字母数\p{Nl code>,变音符号\pM
,以及其他一些符号。