在java中的\\之后从字符串中删除几个字符

时间:2015-03-12 13:35:45

标签: java string

我想在“\”(双反斜杠)出现后从字符串中只删除5个字符。 例如: -

String s = ":zap:\\ufe0f:umbrella:\\ufe0f:snowflake:\\ufe0f:snowman:\\ufe0f:cyclone:" ;

输出应为:

:zap::umbrella::snowflake::snowman::cyclone:

因此,在上面的字符串中,\(双反斜杠)之后的5个字母已被删除。 我怎样才能做到这一点?

我尝试了一些代码,但没有运气。 :(

2 个答案:

答案 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", "");

这是DEMO of the Regex

  

它在\之后恰好匹配任何字符5次。

它给出了这个输出:

:zap:️:umbrella:️:snowflake:️:snowman:️:cyclone:

您可以尝试The working Example here