2015-03-06 3 views
0

Я пытаюсь создать программу, котораяНайти символ или группу символов в строке и удалить их

  1. определяет местоположение на @ символ, а затем
  2. находит .edu часть образовательного адреса электронной почты, и наконец
  3. удаляет раздел @school.edu и возвращает остальные.

Я попытался с помощью charAt, но я постоянно получаю ошибку несовместимых-типов, и я не знаю, как удалить часть строки, которая может быть в другом месте каждый раз. Любые рекомендации приветствуются.

вот что я до сих пор:

if (UserEmail.charAt(0) == (".edu")) 
String UserName = UserEmail.substring(0,//location of @//) 

else 
System.out.print(UserEmail + "is not an acceptable email address. 
System.out.print("Type your email address."); 
UserEmail = kb.nextLine(); 
+0

Missing скобка и цитаты в вашем блоке кода, я думаю. – Benjamin

+0

Я улучшил форматирование и грамматику. – Jubobs

+0

Спасибо, @Benjamin и @Jubobs! – Andrew1919

ответ

0

Вы можете использовать string.replaceAll функцию.

string.replaceAll("@\\S+?\\.edu\\b", ""); 

\\S+? будет делать нежадным матч из одного или нескольких символов без пробелов.

Пример:

String r = "[email protected] bar"; 
System.out.println(r.replaceAll("@\\S+?\\.edu\\b", "")); 

Выход:

foo bar 
+0

Отлично, спасибо! Последний вопрос, я продолжаю получать «незаконную ошибку начала выражения в этой строке: if (UserEmail.charAt (0) == (« .edu »)) с этим в выводе« Исключение в потоке »main« Некомпилируемый исходный код - несравнимые типы: char и java.lang.String at string.STRING.main («Что может быть причиной этой ошибки? – Andrew1919

Смежные вопросы