从空格中清除字符串

时间:2018-01-08 11:32:33

标签: java string

我想从不必要的数据中清除String,例如:

SELECT movies.*,
       GROUP_CONCAT(moviesgenre.genre) as genres
FROM movies, genre
WHERE FIND_IN_SET(moviesgenre.ID, Movies.genre)>0
GROUP BY Movies.ID

更确切地说,我想要删除x, y, z, g, h g,因为在g和h字符之前,我有2个“空格”。

实现这一目标的最快方法是什么?

3 个答案:

答案 0 :(得分:3)

使用String#replaceAll

String input = "x, y, z,  g,  h";
input = input.replaceAll("\\s{2,}\\w+,?", "");

答案 1 :(得分:1)

另一种变体是:

String data = "x, y, z,  g,  h";
data = Pattern.compile(",")
              .splitAsStream(data)
              .filter(s -> s.length() - s.trim().length() <= 1)
              .collect(Collectors.joining(","));

如果由于某种原因你还想要包含最后一个逗号,那么你可以这样做:

data = Pattern.compile(",")
              .splitAsStream(data)
              .filter(s -> s.length() - s.trim().length() <= 1)
              .collect(Collectors.joining(",", "", ","));

答案 2 :(得分:-2)

String str ="x,y,z, g, h;
String newString = str.replaceAll("[^a-zA-Z]","");

o / p:

newString = x,y,x,g,h

注意:如果你想删除g&amp; h character使用java split方法。