Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Убираем пробелы в начале и конце строки, дак как все-таки? / 25 сообщений из 54, страница 1 из 3
01.06.2016, 11:12
    #39247897
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Парсил я как-то строки, которые из экселя в форму вставляли, но парсил всегда целиком, ничего не меняя.
А тут подкинул мне знакомый часть задачи из тестового задания, говорит, как убрать пробелы из строки, только в начале и только в конце?
что лучше, работать со строками через стандартные вещи или регексы использовать? Я имею ввиду для скорости парсинга.

Код: java
1.
String dataStr = "      Возмем, для примера вот эту самую строку  ";



Можно только на словах, типа берем трим или еще что-то, указываем то-то, то-то, без примера кода, то есть. А может уже есть какие-то более интересные библиотеки для работы со строковыми данными?
...
Рейтинг: 0 / 0
01.06.2016, 11:19
    #39247905
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Nixicтолько в начале и только в конце?
только в начале или только в конце?

Nixicчто лучше, работать со строками через стандартные вещи или регексы использовать? Я имею ввиду для скорости парсинга.

Чхать на скорость, главное чтобы код был понятным.

NixicМожно только на словах, типа берем трим или еще что-то, указываем то-то, то-то, без примера кода, то есть. А может уже есть

Взять String.trim() и написать на его основе свой метод.

Nixicкакие-то более интересные библиотеки для работы со строковыми данными?
В Apache Commons почему-то такого метода нет. Есть в Spring.
...
Рейтинг: 0 / 0
01.06.2016, 11:28
    #39247917
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
И в начале и в конце. С обоих краев. :)
...
Рейтинг: 0 / 0
01.06.2016, 11:32
    #39247922
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
NixicИ в начале и в конце. С обоих краев. :)
Sting.trim()? Не?
...
Рейтинг: 0 / 0
01.06.2016, 11:45
    #39247946
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Blazkowicz,

разбить строку на массив слов по пробелам )) потом заново из слов собрать ))
...
Рейтинг: 0 / 0
01.06.2016, 11:49
    #39247951
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaTразбить строку на массив слов по пробелам )) потом заново из слов собрать ))
Автор не уточнил с обоих краёв чего он собрался убирать. Но судя по примеру, меж слов нет лишних пробелов.
...
Рейтинг: 0 / 0
01.06.2016, 12:00
    #39247961
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Blazkowicz,

очередное дибильное задание с собеседования по ходу.
...
Рейтинг: 0 / 0
01.06.2016, 12:00
    #39247963
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Nixicкак убрать пробелы из строки, только в начале и только в конце?
дык, trim()
...
Рейтинг: 0 / 0
01.06.2016, 12:01
    #39247964
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaTочередное дибильное задание с собеседования по ходу.
Плюс "испорченный телефон".
...
Рейтинг: 0 / 0
01.06.2016, 12:16
    #39247988
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Nixic, как вы дошли до жизни такой?

Интересно, каким образом вышло так, что человек с 1365 сообщениями (причем, 79% в ветке java) не знает что такое trim() ?
...
Рейтинг: 0 / 0
01.06.2016, 12:30
    #39248008
Valentin Kolesnikov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
NixicПарсил я как-то строки, которые из экселя в форму вставляли, но парсил всегда целиком, ничего не меняя.
А тут подкинул мне знакомый часть задачи из тестового задания, говорит, как убрать пробелы из строки, только в начале и только в конце?
что лучше, работать со строками через стандартные вещи или регексы использовать? Я имею ввиду для скорости парсинга.

Код: java
1.
String dataStr = "      Возмем, для примера вот эту самую строку  ";



Можно только на словах, типа берем трим или еще что-то, указываем то-то, то-то, без примера кода, то есть. А может уже есть какие-то более интересные библиотеки для работы со строковыми данными?

Пример решения задачи для trim в начале и конце строки.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
    private static String baseToString(String value) {
        return value == null ? "" : value;
    }

    private static int charsLeftIndex(final String string, final String chars) {
        int index = 0;
        final int length = string.length();
        while (index < length && chars.indexOf(string.charAt(index)) > -1) {
            index += 1;
        }
        return index == length ? -1 : index;
    }

    public static String trimStart(final String string, final String chars) {
        final String localString = baseToString(string);
        if (localString.isEmpty()) {
            return localString;
        }
        final String localChars;
        if (chars == null) {
            localChars = " ";
        } else {
            localChars = chars;
        }
        final int leftIndex = charsLeftIndex(localString, localChars);
        return leftIndex > -1 ? localString.substring(leftIndex, localString.length()) : localString;
    }

    private static int charsRightIndex(final String string, final String chars) {
        int index = string.length() - 1;
        while (index >= 0 && chars.indexOf(string.charAt(index)) > -1) {
            index -= 1;
        }
        return index;
    }

    public static String trimEnd(final String string, final String chars) {
        final String localString = baseToString(string);
        if (localString.isEmpty()) {
            return localString;
        }
        final String localChars;
        if (chars == null) {
            localChars = " ";
        } else {
            localChars = chars;
        }
        final int rightIndex = charsRightIndex(localString, localChars);
        return rightIndex > -1 ? localString.substring(0, rightIndex + 1) : localString;
    }



Можно подключить готовую библиотеку с этим методом undercore-lodash .

С уважением, Валентин
...
Рейтинг: 0 / 0
01.06.2016, 12:35
    #39248016
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
у меня было другое из 12345 сложить 1+2+3+4+5 рекурсией ))

я сказал зачем рекурсия и сделал так:
for(char c: "12345".toCharArray()) z=z+Integer.parseInt(c+"")



у чувака на том конце провода первый вопрос а зачем '+""'? )))
...
Рейтинг: 0 / 0
01.06.2016, 12:43
    #39248020
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaT,

Код: java
1.
2.
3.
4.
        
String digits = "12345";
System.out.println(digits.chars().map(i -> i - '0').sum());
System.out.println(digits.chars().sum() - digits.length() * '0');
...
Рейтинг: 0 / 0
01.06.2016, 12:49
    #39248027
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaTу чувака на том конце провода первый вопрос а зачем '+""'? )))
Вот чтобы не пугать таких, надо писать хотя бы
Код: java
1.
Character.digit(c, 10);
...
Рейтинг: 0 / 0
01.06.2016, 12:52
    #39248031
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Валентин,
Вы сделали мой день.

это задача на две строчки!

StringBuilder sb = ....
for(String st : someStr.split(" ")) sb.append(st).append(" ");
sb.deleteCharAt(sb.lasstIndexOf(sb.toString()));
кажется так. может напутал что но суть ясна.
...
Рейтинг: 0 / 0
01.06.2016, 12:54
    #39248033
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
BlazkowiczandreykaTу чувака на том конце провода первый вопрос а зачем '+""'? )))
Вот чтобы не пугать таких, надо писать хотя бы
Код: java
1.
Character.digit(c, 10);


меня туда всё-равно не взяли. сказали что в активе нет мегапроектов с крутой загрузкой.
...
Рейтинг: 0 / 0
01.06.2016, 12:59
    #39248040
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
пардон, в коде надо условие перед аппендом добавить if(!st.equals(""))
...
Рейтинг: 0 / 0
01.06.2016, 13:16
    #39248060
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Задача на подсчет скобочек в строке более интересна.

Мдя... слабеет нынче собеседование.
...
Рейтинг: 0 / 0
01.06.2016, 13:25
    #39248076
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
mayton,

А что с скобками . Первое что в голову приходит делать ++ когда откр и -- когда закр. Если меньше 0 то ошибка. Если 0 то все верно.
...
Рейтинг: 0 / 0
01.06.2016, 13:33
    #39248082
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaTmayton,

А что с скобками . Первое что в голову приходит делать ++ когда откр и -- когда закр. Если меньше 0 то ошибка. Если 0 то все верно.
Лет 10 назад это было..

В изначальной формулировке она звучала как - проверка корректности выражения со скобками.
И лично я ее решения не знал. И мне пришлось минут 5-10 пописать различные варианты
проверок и краевые случаи чтобы к этому подойти.

А у тебя сколько времени бы это заняло?
...
Рейтинг: 0 / 0
01.06.2016, 13:37
    #39248086
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaTПервое что в голову приходит делать ++ когда откр и -- когда закр. Если меньше 0 то ошибка. Если 0 то все верно.
Код: java
1.
")("
...
Рейтинг: 0 / 0
01.06.2016, 13:40
    #39248090
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
BlazkowiczandreykaTПервое что в голову приходит делать ++ когда откр и -- когда закр. Если меньше 0 то ошибка. Если 0 то все верно.
Код: java
1.
")("


и что? если это в начале будет строки то будет -- и -1 а значит ошибка. если посередине - это умножение. если мне память не изменяет из школьного курса алгебры
...
Рейтинг: 0 / 0
01.06.2016, 13:42
    #39248091
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
maytonandreykaTmayton,

А что с скобками . Первое что в голову приходит делать ++ когда откр и -- когда закр. Если меньше 0 то ошибка. Если 0 то все верно.
Лет 10 назад это было..

В изначальной формулировке она звучала как - проверка корректности выражения со скобками.
И лично я ее решения не знал. И мне пришлось минут 5-10 пописать различные варианты
проверок и краевые случаи чтобы к этому подойти.

А у тебя сколько времени бы это заняло?
если в спокойной обстановке? если на тебя 2-3 лба в 6 глаз зырят и говорят "решай" то хз. У меня в такие моменты ощущение будто я стою писаю под деревом, а на меня 3 мужика смотрят, причем не со спины. :) Стеснительный я.
...
Рейтинг: 0 / 0
01.06.2016, 13:44
    #39248092
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
andreykaTи что? если это в начале будет строки то будет -- и -1 а значит ошибка. если посередине - это умножение. если мне память не изменяет из школьного курса алгебры
Ну, ты не указал, что одно условие на каждую итерацию, а второе на результат.
...
Рейтинг: 0 / 0
01.06.2016, 13:49
    #39248099
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убираем пробелы в начале и конце строки, дак как все-таки?
Валентин, String.trim, в отличии от вашего метода, кроме пробела удаляет еще и \t,\n и т.д.(33 символа).
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Убираем пробелы в начале и конце строки, дак как все-таки? / 25 сообщений из 54, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]