首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

有个字符串 有很多个逗号隔开的,但是我想去除最后一个逗号,如何解决

  •  
  •   bestehen · 206 天前 · 3664 次点击
    这是一个创建于 206 天前的主题,其中的信息可能已经有所发展或是发生改变。
    s=‘ a,b,c,d,’变成‘ a,b,c,d ’
    26 回复  |  直到 2018-08-03 14:25:23 +08:00
        1
    xubeiyan   206 天前   ♥ 1
    s=s[:-1]
    用 rstrip(',')也行
        2
    bestehen   206 天前
    @xubeiyan 是字符串 ,你的第一个是列表吧,我说的是字符串
        3
    ballshapesdsd   206 天前
    @bestehen #2 字符串也可以这样用啊。。你这也太萌新了吧
        4
    xubeiyan   206 天前   ♥ 1
    >>> s = 'a,b,c,d,'
    >>> s[:-1]
    'a,b,c,d'
    >>> s.rstrip(',')
    'a,b,c,d'
    >>>
        5
    samv2   206 天前 via Android
    正则替换 (不会 python )

    ,([^,]*) $ ----> $1

    上面是 java 语法,$1 表示引用第一对括号里的值
        6
    samv2   206 天前 via Android
    正则替换 (不会 python )

    ,([^,]*) $ ----> $1

    上面是 java 正则语法,$1 表示引用第一对括号里的值
        7
    infun   206 天前
    @bestehen 一楼正解
        8
    tan90   206 天前
    $a="12313,1,123,1,";
    $a_nu = strlen($a);
    if (substr($a,$a_nu-1,$a_nu)==","){
    $a=substr($a,0,$a_nu-1);
    }
    php,临时想的,可以过审吗?
        9
    VDimos   206 天前 via Android
    split 后更改列表再 join 呗
        10
    ry_wang   206 天前
    awk -F',' '{ print $NF }'
        11
    ry_wang   206 天前
    - -! 理解错楼主的需求了。。。忽略楼上
        12
    tan90   206 天前
    s='a,b,c,d,'
    s_nu=len(s)
    if s[s_nu-1:s_nu]==',':
    s=s[0:s_nu-1]
    长度,判断,重新赋值
    我测试过,可以跑的通
        13
    input2output   206 天前
    str := "a,b,c,d,"
    str = str[:len(s)-1]
        14
    frmongo   206 天前
    如下

    a="this,is,that,is,what"
    b=a.split(',')
    b.pop()
    c=','.join(b)
        15
    liaohongxing   206 天前
    $newString = rtrim(‘ a,b,c,d,’, ‘,’);
        16
    liaohongxing   206 天前
    php
        17
    lhx2008   206 天前
    @frmongo 为啥要 pop 一个
        18
    jiqing   206 天前
    java 我还想了半天怎么实现,直接有个方法
    public static void main(String[] args) {

    String s="a,b,c,d,";
    System.out.println(s.substring(0, s.length()-1));

    }
        19
    mec   206 天前
    [:-1]
        20
    princelai   206 天前 via Android
    一楼就是正解啊,py 里可迭代对象都能切片操作
        21
    yxcoder   206 天前
    字符串去掉最后一个字符吧
        22
    TonyLiu2ca   206 天前
    题主题目所述与题内所给示例有出入,造成歧义

    按照题目的意思是:去除最后一个逗号。那么字符串可能是:a,b,c,d, 也可能是 a,b,c,d,ef
    也就是说最后一个逗号后面可能有也可能没有其它非逗号字符(#14 楼考虑了这种情况)

    题主没有给出如果有其它字符,去除最后一个逗号后,其它字符如何处理。有可能是全部删除,也有可能是只删除逗号字符本身。

    所以此题,暂时无解
        23
    lixinyu1024   206 天前
    python 的话
    str.strip(',')
        24
    frmongo   206 天前
    @lhx2008 最后一个逗号后的丢弃
        25
    daemonghost   205 天前
    bash
    s=${s::-1}
        26
    houzhiqiang   203 天前
    a = "13asda,asda,"
    if a.endswith(","):
    a = a[:-1]
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3855 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 06:53 · PVG 14:53 · LAX 22:53 · JFK 01:53
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1