geew
V2EX  ›  问与答

有关字符串的转换 - python

  •  
  •   geew · Aug 7, 2013 · 2729 views
    This topic created in 4846 days ago, the information mentioned may be changed or developed.
    问题如下:
    最简单的方法转换 UserName 为 user_name
    6 replies  •  1970-01-01 08:00:00 +08:00
    clino
    clino
    Aug 7, 2013
    1
    你这是在考大家还是咨询怎么做?
    geew
    geew
    OP
    Aug 7, 2013
    2
    @clino 咨询吧 我自己想的方法觉得不好 想问问有没有更加简洁的
    qdvictory
    qdvictory
    Aug 7, 2013
    3
    str = 'UserName'
    ''.join(chr(i) if i >= 97 else '_'+chr(i+32) for i in [ord(x) for x in str])[1:]
    qdvictory
    qdvictory
    Aug 7, 2013
    4
    再加个开头不是大写的。。
    str = 'UserName'
    prefix = '_'
    text = ''.join(chr(i) if i >= 97 else prefix+chr(i+32) for i in [ord(x) for x in str])
    text[len(prefix):] if text.startswith(prefix) else text
    qdvictory
    qdvictory
    Aug 7, 2013❤️1
    5
    import re
    str = 'UserName'
    r = re.compile(r'[A-Z][a-z]+')
    li = re.findall(r,str)
    '_'.join([x.lower() for x in li])
    geew
    geew
    OP
    Aug 7, 2013
    6
    @qdvictory 谢谢 不错的方法 之前没想过正则
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4381 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:03 · PVG 16:03 · LAX 00:03 · JFK 03:03
    ♥ Do have faith in what you're doing.