Мне нужно создать программу, в которой пользовательский шаблонный шаблон выполняет следующие действия. Я знаю, что для этого нужно создать регулярное выражение. Пожалуйста, помогите мне создать шаблон для этого: - Если у меня есть пункт, мне нужно сделать следующее:Назначение шаблона Java-шаблона
a) if the number of letters in a word is greater than 3, then it should be changed to first three characters + $. For example, the word "Maradona" should be changed to "Mar$". If the number of letters is less than or equal to 3, leave it as it is. Numbers are not counted as letters. So
"$16.9m." should not be changed.
b)Punctucation should be intact(Except if it is in the word. ie "tournament's" should be "tou$"). - Eg: history, -> his$,
c) "/n/n" is for line termination. It shouldn't be changed.
Для: -
Марадона является единственным футболистом, чтобы установить мировой рекорд контрактных сборов дважды, во-первых, при переходе в Барселону за мировой рекорд 5 миллионов фунтов стерлингов, а во-вторых, когда он перешел в Неаполь за еще одну рекордную плату в размере 16,9 миллиона долларов. За свою профессиональную карьеру в клубе Марадона играл за «Аргентинские юниоры», «Бока Хуниорс», «Барселона», «Неаполь», «Севилья» и «Старые мальчики Ньюэлла». На клубном уровне он наиболее известен своей карьерой в Неаполе, где он получил многочисленные награды. В своей международной карьере, сыграв за Аргентину, он заработал 91 шапку и забил 34 гола. /n/n Он сыграл в четырех турнирах чемпионата мира ФИФА, включая турнир 1986 года, где он капитан Аргентины и привел их к победе над Западной Германией в финале, выиграв премию «Золотой мяч» в качестве лучшего игрока турнира. В том же четвертьфинальном туре турнира он забил оба гола в 2-1 победе над Англией, которая вошла в историю футбола, хотя по двум разным причинам. Первый гол состоялся с помощью непрославленного гандбола, известного как «Рука Бога /», а второй гол последовал за 60 м (66 м) балов мимо пяти игроков в Англии./N/n/"The The Century of the Century/присужден Марадоны избирателей FIFA.com в 2002
Вывод должен быть: -
Mar $ является ОНЛ $ Foo $ установить УНР $ против $ плата за $ Twi $, пихта $ Whe $ тра $ до Bar $ за $ wor $ rec $ £ 5m, а sec $, whe $ tra $ до Nap $ за $ an $ $ $ $ 16.9m. Dur $ his pro $ clu $ car $ Mar $ pla $ для Arg $ Jun $, Boc $ Jun $, Bar $, Nap $, Sev $ и New $ Old Boy $. В clu $ lev $ он является mos $ fam $ за свой автомобиль $ в Nap $ whe $, он выиграл num $ acc $. В его int $ car $, pla $ для Arg $, он уха $ 91 cap $ и sco $ 34 goa $./N/nHe pla $ in fou $ FIF $ Wor $ Cup tou $, inc $ 1986 tou $, $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $. В $ sam $ tou $ qua $ rou $ он sco $ bot $ goa $ в $ 2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $. Fir $ goa $ был через un $ han $ kno $ как/"Han $ of God /", whi $ sec $ goa $ fol $ 60 м (66 м) dri $ pas $ fiv $ Eng $ pla . $/п/п/"Гоа $ в Сеп $ /" Ава $ к Mar $ на FIF $ воть $ в 2002
Edit Это то, что я пытался до сих пор:
Я пытался сделать это, не используя подход с использованием шаблонов. Просто используя такие условия, как:
String[] split = sentence.split("\\s+");
for(int i = 0; i < split.length; i++)
{
if(split[i].length() > 3)
{
if(split[i].matches("[a-zA-Z]+"))
}
}
Но это не похоже на действительный подход.
Что следует 'ABCD é' стать? –
@DavidWallace позвольте мне изменить мое сообщение и объяснить пример, который я получил. Это было задание, которое я не думал об этом – user3259926
@DavidWallace Пожалуйста, проверьте обновленный вопрос – user3259926