@Stergy

Как определить прописную букву в середине слова с помощью регулярных выражений?

Есть слово в котором в середине могут встречаться прописные буквы. Пример MyNameIsJohn and what isYour name как с помощью регулярных выражений найти все прописные буквы и поделить слова по ним их что б было в результате так My name is john and what is your name
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
а можно ли как-то сделать проверку, что нарезалось только если слово начинается с маленькой буквы.
Например:
MyNameIsJohn оставалось MyNameIsJohn
а isYourName к становилось Is your name

в 2 этапа:
найти только такие слова - /\b[a-z]+[A-Z][a-z]+/
разбить их - /\b[a-z]+[A-Z][a-z]+/ заменить на $1 $2 (тут пробел)
с функциями на руби, надеюсь, разберешься.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@StockholmSyndrome
(\w)([A-Z])
найденное совпадение заменить на $1 $2, приведя $2 к нижнему регистру
Ответ написан
@IS-Builder
Если для PHP, то вот вариант:
spoiler
$str = 'MyNameIsJohn and what isYour name';

echo preg_replace_callback(
    '~[a-z]\K[A-Z]~',
    function($m){ return ' ' . strtolower($m[0]); },
    $str
);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы