<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Функция обрезание пробелом в строке
25.06.2012 14:51:32 Функция обрезание пробелом в строке Сообщение #1
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Здравствуйте. Есть ли такая функция которая ищет слово с большим заданным числом символов и если находит то ставит пробел? например в слове "ааааааааааааааааааааааааааааааааа",отчитает 20 символов после которых поставит пробел "аааааааааааааааааааа ааааааааааааа" или только при помощи регулярных выражений? и дайте, если есть, хорошие статьи или книги об регулярных выражениях, где все написано нормальным для понимание языком, а не где куча заумных слов над которыми читая текст ломаешь голову
Профиль Ответить
25.06.2012 14:54:13 Функция обрезание пробелом в строке Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Не думаю, что такая функция существует. Но регулярное выражение здесь действительно лучший вариант и пишется это в одну строчку с помощью функции preg_replace. Про регулярные выражения можете почитать здесь: http://myrusakov.ru/php.html - там есть несколько статей, которые идут друг за другом.
Профиль Ответить
25.06.2012 15:09:21 Функция обрезание пробелом в строке Сообщение #3
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

есть много встроенных ф-ций для работы со строками, которые я с трудом запоминая, и которые хорошо заменяют вот эти регулярные выражения. так может лучше использовать рег.выр. чем заучивать эти функции? как Вы считаете, что лучше?
ссылка которую Вы дали ведет на страницу не рег.выр. а на страницу об языке PHP
Профиль Ответить
25.06.2012 15:15:03 Функция обрезание пробелом в строке Сообщение #4
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Прошу прощение, нашел статьи
Профиль Ответить
25.06.2012 15:34:54 Функция обрезание пробелом в строке Сообщение #5
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Сомневаюсь, что эти функции заменяют регулярные выражения. В каких-то частных случаях, да, но далеко не во всех. Поэтому обязательно нужно уметь составлять регулярные выражения.
Профиль Ответить
26.06.2012 16:29:55 Функция обрезание пробелом в строке Сообщение #6
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Не стал создавать новую тему, так как тут начали обсуждать функции.
Проблема с strlen(), если под читать надо количество цифр или английские символов, то считает правильно, а если в русском слове, то допустим в слове привет выдает 12, почему так?
Профиль Ответить
26.06.2012 17:25:02 Функция обрезание пробелом в строке Сообщение #7
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Надо кодировку правильную задать. Если строка будет в windows-1251, а её длина будет считать так, как будто она в UTF-8, то и будет совсем другой набор символов и совсем другая длина.
Профиль Ответить
26.06.2012 23:39:31 Функция обрезание пробелом в строке Сообщение #8
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

у меня кодировка utf - 8 без бум
Профиль Ответить
27.06.2012 17:51:24 Функция обрезание пробелом в строке Сообщение #9
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Подсказали мне, что strlen () расчитано на однобайтовую кодировку, а utf8 это многобайтовая начиная с двух байтов нужно пользоватсся функции mb_strlen(), так что проблема решена) остался только вопрос что еще за байты в кодировке)
Профиль Ответить
27.06.2012 17:59:03 Функция обрезание пробелом в строке Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Русские символы - это 2 байта, английские символы - 1 байт. Главное, чтобы кодировка была действительно UTF-8. Для этого есть ещё один параметр в функции mb_strlen() и также есть mb_internal_encoding(), позволяющая задать кодировку по умолчанию для всего скрипта. Если кодировка не будет совпадать, допустим, текст в UTF-8, а задана не UTF-8, то снова будет увеличение длины, даже с использованием mb_strlen().
Профиль Ответить