Автор Тема: Работа со строкой  (Прочитано 1848 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RomeO

  • Коллежский регистратор
  • *
  • Сообщений: 15
  • Репутация: -1
Работа со строкой
« : ёоЫм 16, 2009, 09:35:36 am »
подскажите пожалуйста, как можно строку считать до определенного символа, допустим
String str = "This is my@string;"допустим до @ можно ли считать? Интересует есть ли интегрированная функция? Через циклы уже сделал, хочется оптимизировать.А то чёт в инете не смог найти
Заранее спасибо

Оффлайн aks

  • Администратор
  • Тайный советник
  • *****
  • Сообщений: 2836
  • Репутация: 74
  • Пол: Мужской
Re: Работа со строкой
« Ответ #1 : ёоЫм 16, 2009, 10:38:00 am »
Что значит считать? Получить подстроку до этого символа?
Вариантов уйма - самое простейшее методы indexof + substring
Для ситуации посложнее: метод split с регулярным выражением или класс StringTokenizer.

Заглядывайте почаще в документацию. =)
Да и проблему бы желательно более четко сформулировать - ато не понятно точно, что нужно.

Оффлайн aks

  • Администратор
  • Тайный советник
  • *****
  • Сообщений: 2836
  • Репутация: 74
  • Пол: Мужской
Re: Работа со строкой
« Ответ #2 : ёоЫм 16, 2009, 10:41:52 am »
По поводу оптимальности, врятли что то будет быстрее работать прямого поиска символа в цикле и потом взятия подстроки. Просто кода будет меньше и реализованно красивее может.

Оффлайн RomeO

  • Коллежский регистратор
  • *
  • Сообщений: 15
  • Репутация: -1
Re: Работа со строкой
« Ответ #3 : ёоЫм 16, 2009, 02:09:31 pm »
      В общем решил циклом и оставить:

int LastIndex=0;
while(info.toString().charAt(LastIndex)!='@')
{
LastIndex++;
}

String ActionName = info.toString().substring(0, LastIndex);

Оффлайн aks

  • Администратор
  • Тайный советник
  • *****
  • Сообщений: 2836
  • Репутация: 74
  • Пол: Мужской
Re: Работа со строкой
« Ответ #4 : ёоЫм 17, 2009, 05:52:31 am »
все верхние строчки можно сократить до indexof() и проверки его на корректность и не писать все время toString а один раз взять строку. =)