1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class _String { static String reverse_words_of_sentence(String s){ Matcher m = Pattern.compile("(\\W+|_+)").matcher(s); ArrayList<String> list = new ArrayList<>(); int start = 0; while(m.find()){ list.add(0, s.substring(start, m.start())); list.add(0, m.group(1)); start = m.end(); } if(start < s.length()) list.add(0, s.substring(start)); return String.join("", list); } } |
styled using hilite.me
No comments:
Post a Comment