从列表Java中替换或删除特殊字符
List<String> somestring = ['%french',
'@spanish',
'!latin'];
如何删除特殊字符并将其替换为空格。
List<String> somestring = ['%french',
'@spanish',
'!latin'];
somestring.replaceall('%','');
如何获得结果
List<String> somestring = ['french',
'spanish',
'latin'];
答案 0 :(得分:1)
首先,从不使用原始的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]
答案 1 :(得分:0)
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);
}
}
添加了一个示例片段来解释相同内容,请相应地扩展到集合。