给定一个字符串,例如“Hello a World b”,有什么方法可以打印出字符'a'和'b'并忽略“Hello”和“World”?
我只想打印单字母单词并忽略多字母字符串。
答案 0 :(得分:1)
使用正确的正则表达式...
Matcher m = Pattern.compile("\\b[a-zA-Z]\\b").matcher(str);
while (m.find())
System.out.println(m.group());
相同的结果,但代码更少,是删除所有多字母单词然后拆分空格:
for (String letter : str.replaceAll("\\w\\w+", "").trim().split(" +"))
System.out.println(letter);
答案 1 :(得分:0)
你需要一个表情符号的映射以及应该替换它的字符。然后遍历地图,用字符(值)和你的集合替换表情符号(键)。
看起来有点像这样
Map<String, String> emoticons = new HashMap<String, String>();
//fill it with emoticons and what string should replace it
String s = "Hello :) World :P";
for(Map.Entry<String, String> entry: emoticons.entrySet()){
s = s.replace(entry.getKey(), entry.getValue());
}
答案 2 :(得分:0)
当然,您需要使用String类
中的contains方法List <String> emoticons = new ArrayList();
for(String emoticon : emoticons) {
String input = "Hello :) World :P";
boolean output= input.contains(emoticon);
System.out.println("this emoticon "+emoticon+ is pressent);
}
我希望它有所帮助:)