2016-07-30 35 views
-2

Cが摂氏の場合は、特定の状況(たとえば)で大文字の大文字を使用したいと思います。これまでの私の正規表現:正規表現の大文字特定の文字

((?!\s)[c](?=\s)|(?!\d)[c](?=\d)|[c](?=-)) 

例のテキスト:

Some plastic insert c lids were cracked, temperature was between 8c and 8.8c. 

私は数字の後に、すべての孤独のCさんとCさんを大文字にしたいです。任意のポインタが役立つだろう。

答えて

0

負の一見のための後者のスタンド間、あなたはあなたがスペースまたは数字の後にcを交換したい場合は、その後、あなたは後ろ外観を使用する必要があり、代わりに(?!...)(?<=...)背後一見の元のスタンドを必要とします制約:

str1 = "Some plastic insert c lids were cracked, temperature was between 8c and 8.8c." 

import re 
re.sub(r"(?<=\s)c(?=\s)|(?<=\d)c", "C", str1) 
# 'Some plastic insert C lids were cracked, temperature was between 8C and 8.8C.' 

あなたは孤独な定義方法に応じて、ワード境界がより適しかもしれません:

re.sub(r"\bc\b|(?<=\d)c", "C", str1) 
# 'Some plastic insert C lids were cracked, temperature was between 8C and 8.8C.' 
コメントでのケースのため

更新

str2 = "Ensure that noodles soaked in water are kept at or 4 c. Noodles are moved to walk in cooler. * Ensure that perishable food is chilled rapidly as * A) temperature from 60 c-20 C must fall within two hrs" 

re.sub(r"\bc\b|(?<=\d)c", "C", str2) 
# 'Ensure that noodles soaked in water are kept at or 4 C. Noodles are moved to walk in cooler. * Ensure that perishable food is chilled rapidly as * A) temperature from 60 C-20 C must fall within two hrs' 
+0

私はこれが良い 'r 'がCになると思う(= \ | S $?)|((<= [\ sの\ D]?) ?<= ^)c(?= \ s) '' – rock321987

+0

@ rock321987絶対に、OPが単独のために何を意味するかによって異なります。それに対してより一般的な単語境界オプションを追加しました。 – Psidom

+0

私はこれらを試しましたが、いくつかのcは見落とされています: "水に浸した麺を4℃以下に保つようにしてください *生鮮食品が急速に冷やされるようにしてください * A)temperature from 60 c-20 Cは2時間以内に落ちなければならない " – MoreScratch

関連する問題