अपने प्रश्न का उत्तर देने के लिए: [:ascii:]
काम करता है। आप कर सकते हैं अपने पाठ है कि आप के रूप में पहचान नहीं पा रहे में कुछ अक्षर है गैर- ASCII , फिर भी वे वहीं हैं। वे एक गैर-तोड़ने योग्य स्थान की तरह कुछ हो सकते हैं , उदाहरण के लिए, या किसी अन्य यूनिकोड अंतरिक्ष चरित्र ।
ग्रंथों में गैर-विराम योग्य रिक्त स्थान (
) होना कोई अजीब बात नहीं है, जिसे आप किसी वेब पेज से कॉपी-एंड-पेस्ट करते हैं, फिर भी आप वहां नोटिस नहीं करते हैं।
यहाँ एक उदाहरण दिखाया गया है:
WITH t(t) AS
(
VALUES
( 'Сталинская правозащитница: мать Меленкова бабушка Настя' ),
( 'Дневник НКВДиста Шабалина: Знает ли Москва положение на фронте?' ),
( 'Бег по городу и поездка на осле: как в средневековье наказывали прелюбодеев' ),
( 'Как комиссар Крекшин в 1740-е чуть не отменил историю России' ),
( 'Have you heard of Saint Death? Don’t pray to her.' ),
( 'Архаїчна українська мова: перевага чи недолік?' ),
( 'Гренада не их' ),
( 'China’s marriage rate is plummeting because women are choosing autonomy over ' )
)
SELECT
t, regexp_replace(t, '([^[:ascii:]])', '[\1]', 'g') AS t_marked
FROM
t
WHERE
t ~ '[^[:ascii:]]' ;
यही मिलता है:
t | t_marked
-------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Сталинская правозащитница: мать Меленкова бабушка Настя | [С][т][а][л][и][н][с][к][а][я] [п][р][а][в][о][з][а][щ][и][т][н][и][ц][а]: [м][а][т][ь] [М][е][л][е][н][к][о][в][а] [б][а][б][у][ш][к][а] [Н][а][с][т][я]
Дневник НКВДиста Шабалина: Знает ли Москва положение на фронте? | [Д][н][е][в][н][и][к] [Н][К][В][Д][и][с][т][а] [Ш][а][б][а][л][и][н][а]: [З][н][а][е][т] [л][и] [М][о][с][к][в][а] [п][о][л][о][ж][е][н][и][е] [н][а] [ф][р][о][н][т][е]?
Бег по городу и поездка на осле: как в средневековье наказывали прелюбодеев | [Б][е][г] [п][о] [г][о][р][о][д][у] [и] [п][о][е][з][д][к][а] [н][а] [о][с][л][е]: [к][а][к] [в] [с][р][е][д][н][е][в][е][к][о][в][ь][е] [н][а][к][а][з][ы][в][а][л][и] [п][р][е][л][ю][б][о][д][е][е][в]
Как комиссар Крекшин в 1740-е чуть не отменил историю России | [К][а][к] [к][о][м][и][с][с][а][р] [К][р][е][к][ш][и][н] [в] 1740-[е] [ч][у][т][ь] [н][е] [о][т][м][е][н][и][л] [и][с][т][о][р][и][ю] [Р][о][с][с][и][и]
Have you heard of Saint Death? Don’t pray to her. | Have you heard of Saint Death? Don[’]t pray to her.
Архаїчна українська мова: перевага чи недолік? | [А][р][х][а][ї][ч][н][а] [у][к][р][а][ї][н][с][ь][к][а] [м][о][в][а]: [п][е][р][е][в][а][г][а] [ч][и] [н][е][д][о][л][і][к]?
Гренада не их | [Г][р][е][н][а][д][а] [н][е] [и][х]
China’s marriage rate is plummeting because women are choosing autonomy over | China[’]s marriage rate is plummeting because women are choosing autonomy over
आप इससे देख सकते हैं, कि आपकी समस्या सही-सही चरित्र है । ASCII केवल एपोस्ट्रोफ का समर्थन करता है। बायां-एपोस्ट्रोफ और दायां-एपोस्ट्रोफी टाइपोग्राफिक रूप से यूनिकोड एक्सटेंशन सही हैं।
यहाँ dbfiddle
आप इसे http://rextester.com/UKIQ48014 (PostgreSQL 9.5) और http://sqlfiddle.com/# -15 / 4c563 /1/0 (PostgreSQL 9.3) पर पिछले संस्करणों के साथ भी देख सकते हैं ।
मुझे लगता है कि ग्रंथ आपको लगता है कि शुद्ध ASCII हैं, और नहीं हैं :
WITH t(t) AS
(
VALUES
('A fully ASCII text!'),
('Have you heard of Saint Death? Don’t pray to her.'),
('China’s marriage rate is plummeting because women are choosing autonomy over ')
)
SELECT
regexp_replace(t, '([^[:ascii:]])', '[\1]', 'g') AS t_marked
FROM
t
WHERE
t ~ '[^[:ascii:]]' ;
| t_marked |
| : ------------------------------------------------- ----------------------------- |
| क्या आपने संत मृत्यु के बारे में सुना है? डॉन ['] उससे प्रार्थना मत करो। |
| चीन [] शादी की दर बहुत कम है क्योंकि महिलाएं स्वायत्तता का चयन कर रही हैं |
यहाँ dbfiddle
इन ग्रंथों का उपयोग कर रहे ' के बजाय ' निशान अक्षर लोप करने के लिए।
विराम चिह्न जांचें : सही एकल उद्धरण (U + 2019) क्यों है, और यूनिकोड में पसंदीदा अपोस्ट्रोफ वर्ण का शब्दार्थिक रूप से विशिष्ट अपोस्ट्रोफ (U + 0027) नहीं है? ... यह देखने के लिए कि आप इस समस्या का सामना करने वाले पहले व्यक्ति नहीं हैं।