https://medium.com/@travelswithkrishna/java-strings-day-12-mastering-string-manipulation-in-java-1582c6319523