kouprianov: (Default)
[personal profile] kouprianov

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

s/(?<=\d)ЧТОВПИСАТЬСЮДА?(?=\d\d\d)//g;

В качестве кандидатов уже побывали "\x0xA0", "\xA0", "\x0xC2", "\xC2". Я понимаю, что чего-то не понимаю, но это само по себе не помогает. Все эти долбанные cookbookи и учебники написаны, похоже, какими-то людьми, которые уже все знают, поэтому они общаются с простыми смертными, вроде меня, языком полупонятных намеков.

Date: 2012-02-08 02:32 pm (UTC)
From: [identity profile] crazy--cucumber.livejournal.com
А почему "\x0xA0", а не "\xc2\xa0"?

Date: 2012-02-08 02:35 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
Возможно потому, что я хватаюсь за вершки, не познав корешки. Сейчас попробую.

Date: 2012-02-08 02:36 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
АААА!!!! Спасибо огромное! Заработало! Чуть не свихнулся, пробуя разные варианты...

Date: 2012-02-08 02:41 pm (UTC)
From: [identity profile] crazy--cucumber.livejournal.com
Всегда пожалуйста :-)

Date: 2012-02-08 02:37 pm (UTC)
From: [identity profile] vlkamov.livejournal.com
Про учебники точно подмечено.

Но задачу не понял. В числе нет пробелов по определению.

Date: 2012-02-08 02:41 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
Это у математиков. А у тех, кто любит записать десятичные числа красиво, отбивая по три разряда, бывает еще и не такое. Просто я впервые обнаружил там неразрывный пробел (и чуть не поседел, пока понял, что он именно неразрывный, поскольку визуально никакой разницы в medit заметно не было).

Date: 2012-02-08 02:55 pm (UTC)
From: [identity profile] vlkamov.livejournal.com
Даа...
Я не сталкивался с этой проблемой потому, что всегда перевожу данные в однобайтовые кодировки.

Date: 2012-02-08 11:13 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
Надо и мне попробовать, но боязно с юникода слезать с какой-нибудь очередной Турцией.

Date: 2012-02-09 07:00 am (UTC)
From: [identity profile] vlkamov.livejournal.com
... и для повышения читабельности кода

вместо
s/(?<=\d)ЧТОВПИСАТЬСЮДА?(?=\d\d\d)//g;

лучше
# где-нибудь в первоначальных установках
$nbsp = "\xc2\xa0";
# и уже где надо
s/$nbsp//g;

Date: 2012-02-11 01:16 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
Это, на самом деле, результат отупения и того, что сначала я пытался заменить простой пробел. Так-то можно было бы просто сделать глобальную замену неразрывного (в текстовых полях их не было).

Date: 2012-02-08 03:03 pm (UTC)
From: [identity profile] http://users.livejournal.com/mar__/
надо hex смотреть (простейший вариант - F4 при просмотре из mc). А вообще от греха подальше можно пойти от противного и вычистить регэкспом все, кроме цифр, букв, пробелов, переносов строки, ну и что_там_еще_может_понадобиться.

Date: 2012-02-08 11:16 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
Что-то я про него подзабыл уже ) Поглядел и не вижу, где там включить просмотр в гексе.

Date: 2012-02-09 02:02 am (UTC)
From: [identity profile] ashipunov.myopenid.com (from livejournal.com)
Сначала F3, а потом уже изнутри просмотрщика -- F4

Date: 2012-02-08 06:07 pm (UTC)
From: (Anonymous)
очень хорошая книга, именно для тех, кто ни-бум-бум http://www.ozon.ru/context/detail/id/1872690/
русский перевод раз в 10 дешевле

captcha sucks

Date: 2012-02-08 11:20 pm (UTC)
From: [identity profile] kouprianov.livejournal.com
О, это, видимо в самый раз для меня )

За капчу -- простите. Я ее не ставил и даже не понимаю, где бы снять. Попробую выяснить.

March 2025

S M T W T F S
      1
2345678
910 1112131415
16171819202122
23242526272829
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 21st, 2026 05:30 pm
Powered by Dreamwidth Studios