Если кто-то ищет что-то вроде этого вход: Нью-Йорк, Лас-Вегас, Нью-Дели, Мумбаи Выход: Нью-Йорк, Лас-Вегас, Нью-Дели и Мумбаи.
Тогда это работает
public String formatString(String inputString)
{
String firstOccurance = "";
String secondOccurance = "";
String thirdOccurance = "";
String formattedString="";
String matcher1=",";
String matcher2=", ";
String matcher3=" ,";
inputString=inputString.replaceAll(", $", "");
inputString=inputString.replaceAll(" ,$", "");
inputString=inputString.replaceAll(" ,$", "");
inputString=inputString.replaceAll(".$", "");
inputString=inputString.replaceAll(" .$", "");
inputString=inputString.replaceAll(". $", "");
int endIndex = inputString.lastIndexOf(matcher1);
if(endIndex==-1)
endIndex = inputString.lastIndexOf(matcher2);
if(endIndex==-1)
endIndex = inputString.lastIndexOf(matcher3);
if (endIndex != -1) {
firstOccurance = inputString.substring(0, endIndex);
secondOccurance = inputString.substring(endIndex);
int endIndex1 = secondOccurance.lastIndexOf(matcher1);
if(endIndex1==-1)
endIndex1 = secondOccurance.lastIndexOf(matcher2);
if(endIndex1==-1)
endIndex1 = secondOccurance.lastIndexOf(matcher3);
if (endIndex1 != -1) {
thirdOccurance = firstOccurance + " and " + secondOccurance.substring(endIndex1+1)+".";
formattedString =thirdOccurance;// thirdOccurance + secondOccurance;
System.out.println(thirdOccurance + secondOccurance);
}
}
return !formattedString.isEmpty()?formattedString:inputString;
}
использовать метод замены для него. –
но как ?? я пробовал все мои вещи ... –