2013-07-08 26 views
1

我该如何编写一个正则表达式来检查文本文件中某行上的第一个字母,然后在该字符的前面加上大写字母?这是我到目前为止有:检查文件中的第一个字母大写

import re 

p = re.compile(r'(.*)([A-Z])(.*)>') 
... 
pr = p.sub(r'\1<P>\2</p>', line) 
+0

什么是你认为“忽略案件”的含义? – Doorknob

+1

s/how/why/..... –

+0

为什么要为此使用正则表达式?在这种情况下使用它是没有意义的。 – poke

回答

3

我怎么会写一个正则表达式来检查的第一个字母上 行:这里不需要

>>> re.sub(r'^([A-Z])',r'>\1',"Abc") 
'>Abc' 
>>> re.sub(r'^([A-Z])',r'>\1',"abc") 
'abc' 
+2

的确如此,但你已经足够长时间了解OP要求的并不总是他们真正想要的。 –

+0

@DanielRoseman这取决于OP,有时即使你给他们最好的解决方案,他们最终仍然会接受他们想要的答案。 :)示例:http://stackoverflow.com/questions/17524819/how-extract-items-of-sublists-in-a-one-line-comprehension-in-python 明显jon clements的答案是最好的一个很多,但OP选择效率较低的答案。 –

12

正则表达式,因为您可以用内置的isupper()功能解决问题:

if word[0].isupper(): 
    new_s = "Something in front %s" % word 
+0

变量词会是什么样子? –

+0

'word =“示例”' – matino