我想在“\”(双反斜杠)出现后从字符串中只删除5个字符。 例如: -
String s = ":zap:\\ufe0f:umbrella:\\ufe0f:snowflake:\\ufe0f:snowman:\\ufe0f:cyclone:" ;
输出应为:
:zap::umbrella::snowflake::snowman::cyclone:
因此,在上面的字符串中,\(双反斜杠)之后的5个字母已被删除。 我怎样才能做到这一点?
我尝试了一些代码,但没有运气。 :(
答案 0 :(得分:2)
\ufe0f
是一个代表单个字符的unicode。
此代码将删除任何字符,但不会删除字符或冒号。
String s = ":zap:\ufe0f:umbrella:\ufe0f:snowflake:\ufe0f:snowman:\ufe0f:cyclone:" ;
System.out.println(s.replaceAll("[^\\w:]", ""));
输出:
:zap::umbrella::snowflake::snowman::cyclone:
答案 1 :(得分:1)
您可以使用replaceAll()方法尝试使用此正则表达式"/\\.{5}/g"
:
String s = ":zap:\ufe0f:umbrella:\ufe0f:snowflake:\ufe0f:snowman:\ufe0f:cyclone:" ;
s=s.replaceAll("/\\.{5}/g", "");
它在
\
之后恰好匹配任何字符5次。
它给出了这个输出:
:zap:️:umbrella:️:snowflake:️:snowman:️:cyclone: