有没有办法从String中提取单个字符单词?

时间:2014-11-26 11:05:06

标签: java string char extract

给定一个字符串,例如“Hello a World b”,有什么方法可以打印出字符'a'和'b'并忽略“Hello”和“World”?

我只想打印单字母单词并忽略多字母字符串。

3 个答案:

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

我希望它有所帮助:)