Вы можете использовать этот класс и адаптировать его к своему собственному коду Java если вы сохранить исходную строку в формате "FirstName LastName"
и использовать ", "
, чтобы разделить строку "FirstName LastName, FirstName LastName"
.
public class StringEditor
{
String editMe = "James May, Jack Jones";
public void runStringEdit()
{
String edit1 = editMe.replaceAll(",", "");
System.out.println("After step one: "+edit1);
String[] edit2 = edit1.split(" ");
for(int i =0; i<edit2.length; i++)
{
int correctNum = i+1;
System.out.println("After part "+correctNum+" of step 2: "+edit2[i]);
}
for(int i =0; i<edit2.length; i++)
{
int correctNum = i+1;
if(correctNum%2!=0)
{
edit2[i]=edit2[i].charAt(0)+". ";
System.out.println("After part "+correctNum+" of step 3: "+edit2[i]);
}
else
{
try
{
if(!edit2[correctNum].equals("")) //Stops "," being added to last surname by causing a null pointer exception in the if statement
{
edit2[i]=edit2[i]+", ";
}
}
catch(Exception e)
{
}
System.out.println("After part "+correctNum+" of step 3: "+edit2[i]);
}
}
String finalEdit = "";
for(int i =0; i<edit2.length; i++)
{
int correctNum = i+1;
finalEdit = finalEdit+edit2[i];
}
System.out.println("After final step: "+finalEdit);
}
public static void main(String[] args)
{
StringEditor sE = new StringEditor();
sE.runStringEdit();
}
}
Конечный результат использования этого класса будет FirstName Intial. LastName, FirstName Intial. LastName
, который будет равен J. May, J. Jones
в этом случае.
Фактический результат показывает, как программа сделала это шаг за шагом и будет выглядеть следующим образом;
Вы уже пробовали что-нибудь? –
Почему он не удаляет подстроку 'May'? –
Есть много простых подходов к этому. Что вы пробовали? Почему это не получилось? На каких материалах вы его тестировали? Какие результаты вы получили? Что произошло, когда вы отлаживались? – Kon