Как обрезать строку в java
Перейти к содержимому

Как обрезать строку в java

  • автор:

Как обрезать строку по «/»?

Доброго всем дня.
Такой момент. При написании pipeline на языке Groovy в функции которого входят взять ссылку из списка и из это ссылки взять только определенные части.
На данный момент реализовано так:

for(url in listUrls)< var1 = url.split('/')[-1] var2 = url.split('.')[2] . //Далее идет работа по использованию данных переменных >

Но при выполнении данного фрагмента выходит такая
ошибка

hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.String;.split() is applicable for argument types: (java.lang.String) values: [/]
Possible solutions: split(groovy.lang.Closure), wait(), init(), sort(), tail(), toList()

В поисках на просторах интернета никаких наводок не получил. Решил обратиться к старому доброму комьюнити хабра. Как можно осуществить сплитование строки по сепаратору в качестве «/»?

  • Вопрос задан более двух лет назад
  • 337 просмотров

Комментировать
Решения вопроса 1
Saboteur @saboteur_kiev
software engineer

String mylist[]=url.split("/"); var1=mylist[0]; var2=mylist[1];

Ответ написан более двух лет назад
Нравится 1 5 комментариев
Денис Шавалеев @Shavaleev_DieZ Автор вопроса

Не совсем, у меня есть строка, в которую заносятся ссылки на определенные ресурсы. Далее эта строка разбивается по одной и заносится в список. Далее при обращении к списку берется ссылка на ресурс и вынимаются нужные части. Возможно не так вас понял, но в принципе задание переменных описано в примере вопроса. Переменные в начале скрипта объявлены как строка.
Заметил одну вещь, у вас в примере использования метода используются двойные кавычки(groovy-strings), когда как в моем примере используются одинарные — они же java-strings. Возможно этот момент не дает отработать.

Денис Шавалеев @Shavaleev_DieZ Автор вопроса
Saboteur, Я вас понял, вынести в список сплиты, но увы, не помогло, так же ругается на делитель.
Saboteur @saboteur_kiev

тогда надо приводить вообще полный пример как вы это используете, потому что сплит сам по себе вроде как работать должен

Денис Шавалеев @Shavaleev_DieZ Автор вопроса

Saboteur, именно на том шаге что описан и падает, т.е. я присвоение переменной даю, объявив ее как строку в начале кода, после чего выполняю сплит и пытаюсь взять конкретную часть. Вводить промежуточный список не очень будет удобно, т.к. его после оглавления каждый раз нужно будет чистить и присваивать новые данные, т.к. переменным присваиваются разные операции сплита.
Если описать весь процесс, то:
1. Берется строка где несколько ссылок на проекты, и сплитуется по делителю. и заносится в соответствующий список в виде отдельной ссылки как элемент. Работает.
2. Настроен цикл на проход элементов списка, где из ссылки вынимаются уникальные параметры посредством сплитования. На этом шаге и падает. Т.к. посредством вывода сообщений в консоль, видно что входит в сам цикл for, вывод url успешно попадает в консоль. Но дальше при присваивании переменных при сплите от url, выдает ошибку по превышению индесации массива. После того как присваиваю значения, так же прописан вывод их(переменных) в консоль для дэбага, вывода не последовало.

Как обрезать строку до заданного количества символов

Есть переменная String mawa; , в которой хранится некий текст. Как сделать так, чтобы этот текст обрезался до 25 символов?

Отслеживать
36.8k 6 6 золотых знаков 47 47 серебряных знаков 123 123 бронзовых знака
задан 26 сен 2015 в 8:26
2,512 4 4 золотых знака 32 32 серебряных знака 84 84 бронзовых знака

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

mawa = mawa.substring(startindex, endindex); 

Отслеживать
ответ дан 26 сен 2015 в 8:33
Nick Volynkin ♦ Nick Volynkin
33.9k 25 25 золотых знаков 130 130 серебряных знаков 222 222 бронзовых знака

В предыдущих ответах не упомянуто, что будет, если исходная строка короче 25 символов. Если такая ситуация возможна, её следует обработать отдельно. Например:

int limit = 25; String subStr = mawa.length() > limit ? mawa.substring(0, limit) : mawa; 

Также не упомянуто, что будет, если строка содержит суррогатные пары UTF-16. Предположим, ваши пользователи — мормоны-фундаменталисты и общаются с помощью Дезеретского алфавита:

String mawa = "����������������������������������������������������������������"; 

Попробуем сделать наивным способом:

String subStr = mawa.substring(0, 25); System.out.println(subStr); 

В результате видим:

Символов всего 12 и вопросик ещё в конце появился странный. Определённо такая программа не проявляет должного уважения к мормонам-фундаменталистам. Чтобы всё работало правильно, надо, например, так:

int limit = 25; String subStr = mawa.codePointCount(0, mawa.length()) > limit ? mawa.substring(0, mawa.offsetByCodePoints(0, limit)) : mawa; System.out.println(subStr); 

Тогда мы видим действительно 25 символов:

Вам всё ещё кажется, что взять подстроку от строки просто?

Отслеживать
ответ дан 29 сен 2015 в 3:04
Tagir Valeev Tagir Valeev
5,509 16 16 серебряных знаков 42 42 бронзовых знака

mawa.substring(0,25); 

Метод substring() используется для извлечения подстроки из объекта String . Этот метод создает новую копию символов из того диапазона индексов оригинальной строки, который вы указали при вызове.
Можно указать только индекс первого символа нужной подстроки — тогда будут скопированы все символы, начиная с указанного и до конца строки. Также можно указать и начальный, и конечный индексы — при этом в новую строку будут скопированы все символы, начиная с первого ука­занного, и до (но не включая его) символа, заданного конечным индек­сом.

"Hello World".substring(6) -> "World" "Hello World".substring(3,8) -> "lo Wo" 

[java] Откусить от конца строки n символов

Имеется массив строк, надо вывести их все обрезанными на определенное количество символов сзади (например «helloworld», а надо «hellow», минус 4 символа от хвоста). Что то не соображу как.

tr0ll ★
07.05.10 21:59:53 MSD

[в поиск] [в talks]

ну задолбали уже.

 public static String cutN(String s,int n) < char [] chars = s.toCharArray(); String result = ""; if (chars.lengthreturn result; > 

qnikst ★★★★★
( 07.05.10 22:08:24 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

ужас какой.
python: a_string[:-4]

val-amart ★★★★★
( 07.05.10 22:09:58 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD
alex_custov ★★★★★
( 07.05.10 22:11:07 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:09:58 MSD

Представляю, как на пифоне будет сайт уровня ЛОР
python: MakeLORSite()

Karapuz ★★★★★
( 07.05.10 22:11:58 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:09:58 MSD

топики как сделать hello world задолбали

а на питоне я тоже умею ^_^

def cutN(s,n): _n = int(n); _r = ""; _s = str(s); for l in range(0,len(s)-_n): _r += _s[l]; return _r; 

qnikst ★★★★★
( 07.05.10 22:15:41 MSD )
Ответ на: топики как сделать hello world задолбали от qnikst 07.05.10 22:15:41 MSD

это ты типа так доказал что быдлокодить на жабе можно на любом языке?
неужели в джаве нельзя элементарно взять подстроку?

val-amart ★★★★★
( 07.05.10 22:17:30 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

qnikst ★★★★★
( 07.05.10 22:17:41 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:17:30 MSD

#ifdef лень_думать
можно конечно.
#endif

qnikst ★★★★★
( 07.05.10 22:19:11 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

Жесть нах. А вот так некошерно?

String b = a.substring(begin, end); 

stave ★★★★★
( 07.05.10 22:21:17 MSD )
Ответ на: комментарий от stave 07.05.10 22:21:17 MSD

юмор нынче не в моде

нет конечно, это же не интэрпрайз будет..

накрайняк можно так:

 public static String cutN(String s,int n) < Pattern p = Pattern.compile("(.*)+(?=.)"); Matcher m = p.matcher(s); if (m.find()) < return m.group(); >return null; > 

qnikst ★★★★★
( 07.05.10 22:28:32 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

> public static String cutN(String s,int n) {

Приплыли. В школьном бейсике и то было left$() и right$(). А где-то даже и mid$().

tx
( 07.05.10 23:07:31 MSD )

for (String s : arr) System.out.println(StringUtils.substring(s, 0, -4)); 

Legioner ★★★★★
( 07.05.10 23:16:46 MSD )

Местные знатоки Java поражают. Из всех предложеных решений лишь один вменяемый.

bbk123 ★★★★★
( 08.05.10 00:14:14 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD

>Местные знатоки Java поражают. Из всех предложеных решений лишь один вменяемый.

И после этого говорят что джава тормозит. Хотя тормозит явно «разработчик» =/

theos ★★★
( 08.05.10 05:17:08 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

А то понабежало школоты, все по-короче, да по-короче им подавай. Тфу! Что за нравы у современной молодежи.

baverman ★★★
( 08.05.10 05:31:57 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD
atiyakkha
( 08.05.10 07:21:07 MSD )
Ответ на: комментарий от theos 08.05.10 05:17:08 MSD
atiyakkha
( 08.05.10 07:21:42 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD

вот только не говори, что troll’у нужно было указать функцию substring да ещё со ссылкой на документацию.

qnikst ★★★★★
( 08.05.10 09:47:05 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD

Из всех предложеных решений лишь один вменяемый

Ну да, вот что делает с нормальными программистами знакомство с пифоном

Karapuz ★★★★★
( 08.05.10 13:07:46 MSD )
Ответ на: комментарий от qnikst 08.05.10 09:47:05 MSD

Среди всех невменяемых решений, твоё — первое.

bbk123 ★★★★★
( 08.05.10 13:13:00 MSD )
Ответ на: комментарий от bbk123 08.05.10 13:13:00 MSD

я в шоке

ты действительно считаешь, что я этого не знаю?

Пришлось даже секунд 30 подумать, чтобы больше ошибок допустить.

qnikst ★★★★★
( 08.05.10 13:15:58 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

Чуть не подавился.

За такое с партии нужно исключать.

ZeMvlad ★
( 08.05.10 13:20:28 MSD )
Ответ на: комментарий от ZeMvlad 08.05.10 13:20:28 MSD

..ещё один

советую почитать: Ю. Г. Тамберг, ISBN 978-5-89349-648-2. Там объяснено почему это хорошее решение

qnikst ★★★★★
( 08.05.10 13:33:43 MSD )
Ответ на: комментарий от baverman 08.05.10 05:31:57 MSD
bbk123 ★★★★★
( 08.05.10 13:35:35 MSD )
Ответ на: ..ещё один от qnikst 08.05.10 13:33:43 MSD

Ваш юмор на столько тонок, что его видите только вы.

ZeMvlad ★
( 08.05.10 14:12:33 MSD )
Ответ на: топики как сделать hello world задолбали от qnikst 07.05.10 22:15:41 MSD

У вас, жабистов, специфическое чувство юмора.

tailgunner ★★★★★
( 08.05.10 14:14:47 MSD )
Ответ на: комментарий от ZeMvlad 08.05.10 14:12:33 MSD

я слишком хорошо отношусь к людям?

если честно увидев такой код я бы не подумал, что это советуют на самом деле.

#ifdef на_личности
ваш мозг позволяет вам придумать ответ только со 2го раза
#endif

qnikst ★★★★★
( 08.05.10 14:18:14 MSD )
Ответ на: комментарий от tailgunner 08.05.10 14:14:47 MSD

т.е. увидев такой код ты решил, что я серьёзно буду использовать его в своих программах? о.О

qnikst ★★★★★
( 08.05.10 14:19:08 MSD )
Ответ на: комментарий от qnikst 08.05.10 14:19:08 MSD

> т.е. увидев такой код ты решил, что я серьёзно буду использовать его в своих программах? о.О

Думаю, после примера на Питоне уже никто не сомневался, что ты шутишь. Просто шутка такая. специфическая.

tailgunner ★★★★★
( 08.05.10 14:23:40 MSD )
Ответ на: комментарий от tailgunner 08.05.10 14:23:40 MSD

в общем то мне показалось, что таким темам не место в development. И хотелось чуть уменьшить и без того невысокую серьёзность темы, возможно я был не прав. =)

qnikst ★★★★★
( 08.05.10 14:25:34 MSD )
Ответ на: комментарий от ZeMvlad 08.05.10 13:20:28 MSD

я понял.. ты хотел чтобы я бросал throw new StringIndexOutOfBoundsException(n); ?

извини я не сразу догадался

qnikst ★★★★★
( 08.05.10 14:36:45 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:17:30 MSD

>>быдлокодить на жабе можно на любом языке

mclaudt ☆
( 08.05.10 14:42:11 MSD )
Ответ на: комментарий от qnikst 08.05.10 14:25:34 MSD

> возможно я был не прав.

Сделайте последнее усилие. Ещё не всё потеряно.

bbk123 ★★★★★
( 08.05.10 15:04:04 MSD )

тред полон жабабыдла. [code=java] public class Test { public static void main(String[] args) { String[] a = {«hello», «trololo»}; String[] b = cut(a);

for(String s : b) System.out.println(s); }

public static String[] cut(String[] s) { String[] r = new String[s.length];

return r; } } [/code]

anonymous
( 08.05.10 15:15:50 MSD )
Ответ на: комментарий от anonymous 08.05.10 15:15:50 MSD

public class Test < public static void main(String[] args) < String[] a = ; String[] b = cut(a); for(String s : b) < System.out.println(s); >> public static String[] cut(String[] s) < String[] r = new String[s.length]; for(int i = 0; i < s.length; i++) < if(s[i].length() >4) r[i] = s[i].substring(0, s[i].length()-4); > return r; > > 

anonymous
( 08.05.10 15:16:49 MSD )
Ответ на: комментарий от anonymous 08.05.10 15:16:49 MSD

Ещё одно невменяемое решение.

bbk123 ★★★★★
( 08.05.10 16:17:28 MSD )
Ответ на: комментарий от bbk123 08.05.10 16:17:28 MSD

держи ещё вменяемый ты наш

как истиный светоч знания о яве ты должен увидеть ещё и это:

 int cut = 4; String s = "Hello world"; String f = "%."+(s.length()-cut)+"s"; System.out.printf(f,"hello world"); 

формально задача решена ^_^

qnikst ★★★★★
( 08.05.10 18:52:43 MSD )
Ответ на: комментарий от bbk123 08.05.10 15:04:04 MSD

я наверное понял.. ты считаешь, что я действительно предлагаю человеку такие варианты? ну ладно, ещё, что-нибудь придумаю, только всё сложнее менее адекватные идеи предлагать 🙂

qnikst ★★★★★
( 08.05.10 18:54:31 MSD )
Ответ на: я слишком хорошо отношусь к людям? от qnikst 08.05.10 14:18:14 MSD

Вон из ветки, в Java нет ifdef

public interface CompileFlags < public static final boolean на_личности = true; >if (CompileFlags.на_личности)

vertexua ★★★★★
( 08.05.10 19:14:32 MSD )
Ответ на: комментарий от qnikst 08.05.10 18:54:31 MSD

Лечиться вам нужно, любезный вы наш.

bbk123 ★★★★★
( 08.05.10 19:19:56 MSD )

public static String cutNCharsFromTheEnd(String s, int N) < StringChar end = StringChar.makeStringChar(s, 0, new StringNullChar()); return end.skipCharsAndMakeString(N); >private static class StringChar < private Character OwnCharBuffer; private StringChar ParentStringChar; private StringChar(char c, StringChar ParentStringChar) < OwnCharBuffer = new Character(c); this.ParentStringChar = ParentStringChar; >public String skipCharsAndMakeString(int number) < if(number == 0) return makeString(""); else < if(ParentStringChar == null) throw new RuntimeException("Too many characters to cut"); return ParentStringChar.skipCharsAndMakeString(number - 1); >> public String makeString(String s) < return ParentStringChar.makeString(OwnCharBuffer.toString() + s); >public static StringChar makeStringChar(String s, int i, StringChar ParentStringChar) < try < char c = s.charAt(i); StringChar ch = new StringChar(c, ParentStringChar); return makeStringChar(s, i + 1, ch); >catch(IndexOutOfBoundsException e) < return ParentStringChar; >> > private static class StringNullChar extends StringChar < public StringNullChar() < super('\0', null); >public String skipCharsAndMakeString(int number) < if(number != 0) throw new RuntimeException("Too many characters to cut"); return ""; >public String makeString(String s) < return s; >>

proud_anon ★★★★★
( 08.05.10 19:30:06 MSD )

StringBuffer

использовать можно не стринг, а StringBuffer

Aid_ ★
( 08.05.10 19:39:02 MSD )
Ответ на: комментарий от bbk123 08.05.10 19:19:56 MSD

ISBN 978-5-89349-648-2

кстати скоро ещё забавный вариант будет, правда proud_anon врятли переплюну.

qnikst ★★★★★
( 08.05.10 19:58:52 MSD )
Ответ на: комментарий от bbk123 08.05.10 19:19:56 MSD

держи карман шире

На ещё невменяемого кода (он даже платформозависимый)

 try < OutputStream stdin; InputStream stdout; InputStream stderr; String cmd[] = )">; Process pt = Runtime.getRuntime().exec(cmd); stdin = pt.getOutputStream(); stdout = pt.getInputStream(); stderr = pt.getErrorStream(); String line ="hello world" + "\n"; stdin.write(line.getBytes()); stdin.flush(); stdin.close(); BufferedReader outReader = new BufferedReader(new InputStreamReader(stdout)); while ((line = outReader.readLine ()) != null) < System.out.println (line); >outReader.close(); BufferedReader errReader = new BufferedReader(new InputStreamReader(stderr)); while ((line = errReader.readLine ()) != null) < System.out.println ("[Stderr] " + line); >errReader.close(); pt.waitFor(); > catch (InterruptedException ex) < Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); >catch ( IOException ex)

P.S. правда этот код содержит вменяемые (не относительно данной задачи) моменты..

P.P.S. пойду про организацию pipe читать, тогда тут ещё через echo прогнать можно будет

qnikst ★★★★★
( 08.05.10 22:31:23 MSD )
Ответ на: держи карман шире от qnikst 08.05.10 22:31:23 MSD

Хаха, я в С программе через cat и grep мерял количество процессоров на машине. Почувствовал себя плечем к плечу с Ричардом Столлманом в 80-х годах

vertexua ★★★★★
( 08.05.10 22:33:56 MSD )
Ответ на: я слишком хорошо отношусь к людям? от qnikst 08.05.10 14:18:14 MSD

>я слишком хорошо отношусь к людям?

Это же лор. Здесь надо явно обозначать сарказм, об этом уже много раз говорилось. [сарказм]ведь здесь все всегда говорят правду и никто не ожидает, что ты скажешь не то, что думаешь[/сарказм]

Операции со строками и подстроками в Java

В этой статье мы рассмотрим операции со строкой и подстрокой. Вы узнаете, как соединять и сравнивать строки, как извлекать символы и подстроки, как выполнять поиск в строке.

Соединение строк в Java

Чтобы соединить строки в Java, подойдёт операция сложения «+» :

 
String str1 = "Java"; String str2 = "Hi"; String str3 = str1 + " " + str2; System.out.println(str3); // Hi Java 

Если же в предстоящей операции сложения строк будет применяться нестроковый объект, допустим, число, данный объект преобразуется к строке:

 
String str3 = "Год " + 2020; 

По факту, когда мы складываем строки с нестроковыми объектами, вызывается метод valueOf() класса String. Этот метод преобразует к строке почти все типы данных. Чтобы преобразовать объекты разных классов, valueOf вызывает метод toString() данных классов.

Объединять строки можно и с помощью concat() :

 
String str1 = "Java"; String str2 = "Hi"; str2 = str2.concat(str1); // HiJava 

Метод принимает строку, с которой нужно объединить вызывающую строку, возвращая нам уже соединённую строку.

Также мы можем использовать метод join() , позволяющий объединять строки с учетом разделителя. Допустим, две строки выше слились в слово "HiJava", однако мы бы хотели разделить подстроки пробелом. Тут и пригодится join() :

 
String str1 = "Java"; String str2 = "Hi"; String str3 = String.join(" ", str2, str1); // Hi Java 

Метод join — статический. Первый параметр — это разделитель, который будет использоваться для разделения подстрок в общей строке. Последующие параметры осуществляют передачу через запятую произвольного набора объединяемых подстрок — в нашем случае их две, но можно и больше.

Извлекаем символы и подстроки в Java

Чтобы извлечь символы по индексу, в классе String есть метод char charAt(int index) . Этот метод принимает индекс, по которому необходимо получить символы, возвращая извлеченный символ:

 
String str = "Java"; char c = str.charAt(2); System.out.println(c); // v 

Обратите внимание, что индексация начинается с нуля, впрочем, как и в массивах. Если же нужно извлечь сразу группу символов либо подстроку, подойдёт getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) . Этот метод принимает ряд параметров: • srcBegin: индекс в нашей строке, с которого осуществляется начало извлечения символов; • srcEnd: индекс в нашей строке, до которого осуществляется извлечение символов; • dst: массив символов (именно в него будут эти символы извлекаться); • dstBegin: индекс в массиве dst (с него надо добавлять символы, извлечённые из строки).

 
String str = "Hi world!"; int start = 6; int end = 11; char[] dst=new char[end - start]; str.getChars(start, end, dst, 0); System.out.println(dst); // world 

Сравниваем строки в Java

Мы уже писали о том, как сравнивать строки в Java, используя для этого метод equals() (регистр учитывается) и equalsIgnoreCase() (регистр не учитывается). Хотелось бы сказать пару слов про ещё одну пару методов: int compareTo(String str) и int compareToIgnoreCase(String str) — они позволяют не только сравнить 2 строки, но и узнать, больше ли одна другой. Если значение, которое возвращается, больше 0, первая строка больше, если меньше нуля, всё наоборот. Когда обе строки равны, вернётся ноль.

Для определения используется лексикографический порядок. Допустим, строка "A" меньше строки "B", ведь символ 'A' в алфавите находится перед символом 'B'. Когда первые символы строк равны, в расчёт берутся следующие символы. К примеру:

 
String str1 = "hello"; String str2 = "world"; String str3 = "hell"; System.out.println(str1.compareTo(str2)); // -15 - str1 меньше, чем strt2 System.out.println(str1.compareTo(str3)); // 1 - str1 больше, чем str3 

Поиск в строке в Java

Чтобы найти индекс первого вхождения подстроки в строку, используют метод indexOf() , последнего — метод lastIndexOf() . Если подстрока не найдена, оба метода вернут -1:

 
String str = "Hello world"; int index1 = str.indexOf('l'); // 2 int index2 = str.indexOf("wo"); //6 int index3 = str.lastIndexOf('l'); //9 

Чтобы определить, начинается строка с определённой подстроки, применяют метод startsWith() . Что касается метода endsWith() , то он даёт возможность определить оканчивается ли строка на определенную подстроку:

 
String str = "myfile.exe"; boolean start = str.startsWith("my"); //true boolean end = str.endsWith("exe"); //true 

Выполняем замену в строке в Java

Заменить в нашей строке одну последовательность символов другой можно с помощью метода replace() :

 
String str = "Hello world"; String replStr1 = str.replace('l', 'd'); // Heddo wordd String replStr2 = str.replace("Hello", "Bye"); // Bye world 

Обрезаем строки в Java

Для удаления начальных и конечных пробелов применяют метод trim() :

 
String str = " hello world "; str = str.trim(); // hello world 

Также существует метод substring() — он возвращает подстроку, делая это с какого-нибудь конкретного индекса до конца либо до определённого индекса:

 
String str = "Hello world"; String substr1 = str.substring(6); // world String substr2 = str.substring(3,5); //lo 

Меняем регистр в Java

При необходимости вы можете перевести все символы вашей строки в нижний регистр ( toLowerCase() ) или в верхний ( toUpperCase() ):

 
String str = "Hello World"; System.out.println(str.toLowerCase()); // hello world System.out.println(str.toUpperCase()); // HELLO WORLD 

Split

С помощью этого метода вы сможете разбить строку на подстроки по конкретному разделителю. Под разделителем понимается какой-либо символ либо набор символов, передаваемые в метод в качестве параметра. Давайте для примера разобьём небольшой текст на отдельные слова:

 
String text = "OTUS is a good company"; String[] words = text.split(" "); for(String word : words) System.out.println(word); > 

В нашем случае строка разделится по пробелу, и мы получим следующий консольный вывод:

 
OTUS is a good company

Вот и всё! Узнать больше всегда можно на наших курсах:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *