删除单词标点符号并在以后使用 Java 重新添加它的最佳方法


[Running Java 1.7.0_51 on MacOSX]

嗨,你好

我目前正在编写一个程序,并且必须编写一个方法,该方法将获取单词的字符串参数,删除其标点符号,缩写单词本身,然后在单词缩写后,重新添加标点符号并返回单词。
请注意,标点符号仅包括: , ; . ! ?

字符串参数将是单个单词,标点符号包含在末尾

我已经知道如何使用重复的if语句/else if来做到这一点,但是如果可能的话,我希望看到一个更好,更有效的方法的例子。我相信有更好的方法,有经验的人可以给我一个例子。我将不胜感激。我还在学习,但我想探索有效的选择!

示例输入:
谢谢!

示例输出:
Ty!

我需要的指导只是实际删除和重新添加标点符号。把缩写部分留给我。因此,为了简化它,假设输入和输出是不可更改的。

考虑

标点符号始终位于末尾

您可以从inputWord中获取标点符号,如下所示:

String punctuation = inputWord.substring(inputWord.length() - 1);

并使用正则表达式检查它是否是您应该拥有的标点符号之一

if (punctuation.matches("[\!\,\?\;\.]"))
    // your actions items here

这样,您可以避免多个if语句。


或者

您可以保留一组需要检查的所有标点符号:

Set<String> punctuationSet = new HashSet<String>(                                   
                        Arrays.asList(new String[]{"!", "?", ";", ",", "."}));

然后检查inputWord中的punctuation是否存在于punctuationSet

中使用
if (punctuationSet.contains(punctuation))
    // your actions items here

最新更新