繁体   English   中英

从列表中替换或删除特殊字符 <String> 爪哇

[英]replace or remove special char from List<String> java

从列表Java替换或删除特殊字符

List<String> somestring = ['%french', 
                           '@spanish', 
                           '!latin'];

如何删除特殊字符并将其替换为空格。

List<String> somestring = ['%french', 
                           '@spanish', 
                           '!latin'];
somestring.replaceall('%','');

如何得到这个结果

List<String> somestring = ['french', 
                           'spanish', 
                           'latin'];

首先, 切勿使用原始List 您有一个List<String> 其次,一个String文字(在Java中)被双引号( " )而不是单引号引起来。第三,您可以流式传输List<String>并使用正则表达式映射元素,然后将它们收集回原始的List<String> 。 喜欢,

List<String> somestring = Arrays.asList("%french", "@spanish", "!latin");
somestring = somestring.stream().map(s -> s.replaceAll("\\W", ""))
        .collect(Collectors.toList());
System.out.println(somestring);

输出(根据要求)

[french, spanish, latin]
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches {
   private static String REGEX = "\\!|\\%|\\@"; //control on Special characters...
   private static String INPUT = "The %dog% says !meow. " + "!All @dogs @say meow.";
   private static String REPLACE = ""; //Replacement string

   public static void main(String[] args) {
      Pattern p = Pattern.compile(REGEX);
      //get a matcher object
      Matcher m = p.matcher(INPUT);
      INPUT = m.replaceAll(REPLACE);
      System.out.println(INPUT);
   }
}

添加了一个示例片段来解释相同内容,请相应地扩展到集合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM