Python论坛  - 讨论区

标题:[python-chinese] 正则式:从现在开始,你只许疼我一个人

2006年12月05日 星期二 23:39

junyi sun ccnusjy在gmail.com
星期二 十二月 5 23:39:23 HKT 2006

请教高手:

现有:
>>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
>>> import re
>>>

问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)

谢谢!!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 08:23

limodou limodou在gmail.com
星期三 十二月 6 08:23:35 HKT 2006

On 12/5/06, junyi sun <ccnusjy在gmail.com> wrote:
> 请教高手:
>
> 现有:
> >>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> >>> import re
> >>>
>
> 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
>
> 谢谢!!

re.sub可以传入一个函数,因些你可以搜索"你"和"我",然后在这个函数中进行互换。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 09:10

大熊 bearsprite在gmail.com
星期三 十二月 6 09:10:39 HKT 2006

这个还用什么正则式,从头到尾的搜索替换就行了

s=u"""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""

r = u''
for a in s:
    if a== u'你':
        r += u'我'
    elif a== u'我':
        r += u'你'
    else:
        r += a

print r.encode('gbk')


2006/12/5, junyi sun <ccnusjy在gmail.com>:
>
> 请教高手:
>
> 现有:
> >>>
> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> >>> import re
> >>>
>
> 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
>
> 谢谢!!
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
茫茫人海,你是我的最爱
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061206/22afb3be/attachment-0001.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 09:52

tocer tocer.deng在gmail.com
星期三 十二月 6 09:52:06 HKT 2006

我试试,不用 re,估计不会比 re 慢

print s.replace(u'你','1').replace(u'我','2').replace('1', u'我').replace('2', 
u'你').encode('cp936')


junyi sun wrote::
> 请教高手:
> 
> 现有:
>>>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
>>>> import re
>>>>
> 
> 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
> 
> 谢谢!!
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

-- 
Vim 中文 Google 论坛 http://groups.google.com/group/Vim-cn

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 10:32

junyi sun ccnusjy在gmail.com
星期三 十二月 6 10:32:44 HKT 2006

不用正则表达式,我也会啊。
放在记事本里替换就行了,先把我换成me,把你换成you,然后再把me换成你,把you换成我。

On 12/6/06, tocer <tocer.deng在gmail.com> wrote:
> 我试试,不用 re,估计不会比 re 慢
>
> print s.replace(u'你','1').replace(u'我','2').replace('1', u'我').replace('2',
> u'你').encode('cp936')
>
>
> junyi sun wrote::
> > 请教高手:
> >
> > 现有:
> >>>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> >>>> import re
> >>>>
> >
> > 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
> >
> > 谢谢!!
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
> --
> Vim 中文 Google 论坛 http://groups.google.com/group/Vim-cn
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 10:47

linuxbbs linuxbbs在163.com
星期三 十二月 6 10:47:14 HKT 2006

这个可以更简单

print s.replace(u'你','1').replace(u'我',u'你').replace('1',u'我').encode('cp936')

>我试试,不用 re,估计不会比 re 慢

>print s.replace(u'你','1').replace(u'我','2').replace('1', u'我').replace('2', 
>u'你').encode('cp936')



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 10:51

limodou limodou在gmail.com
星期三 十二月 6 10:51:55 HKT 2006

On 12/6/06, limodou <limodou在gmail.com> wrote:
> On 12/5/06, junyi sun <ccnusjy在gmail.com> wrote:
> > 请教高手:
> >
> > 现有:
> > >>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> > >>> import re
> > >>>
> >
> > 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
> >
> > 谢谢!!
>
> re.sub可以传入一个函数,因些你可以搜索"你"和"我",然后在这个函数中进行互换。
>
#coding=gbk
s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""

import re
def r(m):
    if m.group() == '我':
        return '你'
    else:
        return '我'
print re.sub('我|你', r, s)


-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 11:00

junyi sun ccnusjy在gmail.com
星期三 十二月 6 11:00:32 HKT 2006

谢谢limodou,我正在按照你的提示查sub的用法呢,没想到你已经给出答案了.
>>> help(re.sub)
Help on function sub in module re:

sub(pattern, repl, string, count=0)
    Return the string obtained by replacing the leftmost
    non-overlapping occurrences of the pattern in string by the
    replacement repl.  repl can be either a string or a callable;
    if a callable, it's passed the match object and must return
    a replacement string to be used.


On 12/6/06, limodou <limodou在gmail.com> wrote:
> On 12/6/06, limodou <limodou在gmail.com> wrote:
> > On 12/5/06, junyi sun <ccnusjy在gmail.com> wrote:
> > > 请教高手:
> > >
> > > 现有:
> > > >>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> > > >>> import re
> > > >>>
> > >
> > > 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
> > >
> > > 谢谢!!
> >
> > re.sub可以传入一个函数,因些你可以搜索"你"和"我",然后在这个函数中进行互换。
> >
> #coding=gbk
> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
>
> import re
> def r(m):
>    if m.group() == '我':
>        return '你'
>    else:
>        return '我'
> print re.sub('我|你', r, s)
>
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 20:50

ainulinde ainulinde在gmail.com
星期三 十二月 6 20:50:56 HKT 2006

我换成me,你换成我,me换成你。

On 12/6/06, junyi sun <ccnusjy at gmail.com> wrote:
> 不用正则表达式,我也会啊。
> 放在记事本里替换就行了,先把我换成me,把你换成you,然后再把me换成你,把you换成我。
>
> On 12/6/06, tocer <tocer.deng at gmail.com> wrote:
> > 我试试,不用 re,估计不会比 re 慢
> >
> > print s.replace(u'你','1').replace(u'我','2').replace('1', u'我').replace('2',
> > u'你').encode('cp936')
> >
> >
> > junyi sun wrote::
> > > 请教高手:
> > >
> > > 现有:
> > >>>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> > >>>> import re
> > >>>>
> > >
> > > 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
> > >
> > > 谢谢!!
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> > --
> > Vim 中文 Google 论坛 http://groups.google.com/group/Vim-cn
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月06日 星期三 21:07

junyi sun ccnusjy在gmail.com
星期三 十二月 6 21:07:34 HKT 2006

呵呵,汗!!

On 12/6/06, ainulinde <ainulinde在gmail.com> wrote:
> 我换成me,你换成我,me换成你。
>
> On 12/6/06, junyi sun <ccnusjy在gmail.com> wrote:
> > 不用正则表达式,我也会啊。
> > 放在记事本里替换就行了,先把我换成me,把你换成you,然后再把me换成你,把you换成我。
> >
> > On 12/6/06, tocer <tocer.deng在gmail.com> wrote:
> > > 我试试,不用 re,估计不会比 re 慢
> > >
> > > print s.replace(u'你','1').replace(u'我','2').replace('1', u'我').replace('2',
> > > u'你').encode('cp936')
> > >
> > >
> > > junyi sun wrote::
> > > > 请教高手:
> > > >
> > > > 现有:
> > > >>>> s="""从现在开始,你只许疼我一个人,要宠我,不能骗我,答应我的每一件事情都要做到,对我讲的每一句话都要真心,不许欺负我,骂我,要相信我。别人欺负我,你要在第一时间出来帮我,我开心呢,你要陪着我开心,我不开心呢,你要哄我开心。永远绝的我是最漂亮的,梦里面也要见到我,在你的心里面只有我!"""
> > > >>>> import re
> > > >>>>
> > > >
> > > > 问题是:如何写一个正则式,把字符串s中的"你"换成"我","我"换成"你",即两字对换。(注:最好是一次re.sub搞定)
> > > >
> > > > 谢谢!!
> > > > _______________________________________________
> > > > python-chinese
> > > > Post: send python-chinese在lists.python.cn
> > > > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > > > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > >
> > > --
> > > Vim 中文 Google 论坛 http://groups.google.com/group/Vim-cn
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese在lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年12月07日 星期四 20:10

HoLin holin.he在gmail.com
星期四 十二月 7 20:10:22 HKT 2006

Õâ¸ö±êÌâÆðµÄºÜºÃ£¬ÄÜÎüÒýÑÛÇò¡£

On 12/6/06, junyi sun <ccnusjy在gmail.com> wrote:
>
> ºÇºÇ£¬º¹£¡£¡
>
> On 12/6/06, ainulinde <ainulinde在gmail.com> wrote:
> > ÎÒ»»³Éme£¬Äã»»³ÉÎÒ£¬me»»³ÉÄã¡£
> >
> > On 12/6/06, junyi sun <ccnusjy在gmail.com> wrote:
> > > ²»ÓÃÕýÔò±í´ïʽ£¬ÎÒÒ²»á°¡¡£
> > > ·ÅÔÚ¼Çʱ¾ÀïÌæ»»¾ÍÐÐÁË£¬ÏÈ°ÑÎÒ»»³Éme£¬°ÑÄã»»³Éyou£¬È»ºóÔÙ°Ñme»»³ÉÄ㣬°Ñyou»»³ÉÎÒ¡£
> > >
> > > On 12/6/06, tocer <tocer.deng在gmail.com> wrote:
> > > > ÎÒÊÔÊÔ£¬²»Óà re£¬¹À¼Æ²»»á±È re Âý
> > > >
> > > > print s.replace(u'Äã','1').replace(u'ÎÒ','2').replace('1',
> u'ÎÒ').replace('2',
> > > > u'Äã').encode('cp936')
> > > >
> > > >
> > > > junyi sun wrote::
> > > > > Çë½Ì¸ßÊÖ£º
> > > > >
> > > > > ÏÖÓУº
> > > > >>>>
> s="""´ÓÏÖÔÚ¿ªÊ¼£¬ÄãÖ»ÐíÌÛÎÒÒ»¸öÈË£¬Òª³èÎÒ£¬²»ÄÜÆ­ÎÒ£¬´ðÓ¦ÎÒµÄÿһ¼þÊÂÇ鶼Ҫ×öµ½£¬¶ÔÎÒ½²µÄÿһ¾ä»°¶¼ÒªÕæÐÄ£¬²»ÐíÆÛ¸ºÎÒ£¬ÂîÎÒ£¬ÒªÏàÐÅÎÒ¡£±ðÈËÆÛ¸ºÎÒ£¬ÄãÒªÔÚµÚһʱ¼ä³öÀ´°ïÎÒ,ÎÒ¿ªÐÄÄØ£¬ÄãÒªÅã×ÅÎÒ¿ªÐÄ£¬ÎÒ²»¿ªÐÄÄØ£¬ÄãÒªºåÎÒ¿ªÐÄ¡£ÓÀÔ¶¾øµÄÎÒÊÇ×îƯÁÁµÄ£¬ÃÎÀïÃæÒ²Òª¼ûµ½ÎÒ£¬ÔÚÄãµÄÐÄÀïÃæÖ»ÓÐÎÒ£¡"""
> > > > >>>> import re
> > > > >>>>
> > > > >
> > > > > ÎÊÌâÊÇ£ºÈçºÎдһ¸öÕýÔòʽ£¬°Ñ×Ö·û´®sÖеÄ"Äã"»»³É"ÎÒ"£¬"ÎÒ"»»³É"Äã"£¬¼´Á½×Ö¶Ô»»¡££¨×¢£º×îºÃÊÇÒ»´Îre.sub¸ã¶¨£©
> > > > >
> > > > > лл£¡£¡
> > > > > _______________________________________________
> > > > > python-chinese
> > > > > Post: send python-chinese在lists.python.cn
> > > > > Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> > > > > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > > >
> > > > --
> > > > Vim ÖÐÎÄ Google ÂÛ̳ http://groups.google.com/group/Vim-cn
> > > > _______________________________________________
> > > > python-chinese
> > > > Post: send python-chinese在lists.python.cn
> > > > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > > > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese在lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Regards
HoLin
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061207/5fb196e0/attachment-0001.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号