Python中如何去除字符串中最后一个逗号

s=‘ a,b,c,d,’变成‘ a,b,c,d ’
Python中如何去除字符串中最后一个逗号

27 回复

s=s[:-1]
用 rstrip(’,’)也行


直接切片或者用rstrip就行。

切片方法(最常用):

s = "a,b,c,"
if s and s[-1] == ',':  # 安全检查
    s = s[:-1]
print(s)  # 输出: a,b,c

rstrip方法(如果只想删末尾逗号):

s = "a,b,c,"
s = s.rstrip(',')
print(s)  # 输出: a,b,c

注意rstrip会删除末尾所有指定的字符,比如"a,b,c,,".rstrip(',')会得到"a,b,c"

一行搞定

s = "a,b,c,"
s = s[:-1] if s.endswith(',') else s

总结:用切片最稳。

是字符串 ,你的第一个是列表吧,我说的是字符串

#2 字符串也可以这样用啊。。你这也太萌新了吧

>>> s = ‘a,b,c,d,’
>>> s[:-1]
‘a,b,c,d’
>>> s.rstrip(’,’)
‘a,b,c,d’
>>>

正则替换 (不会 python )

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

上面是 java 语法,$1 表示引用第一对括号里的值

正则替换 (不会 python )

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

上面是 java 正则语法,$1 表示引用第一对括号里的值

一楼正解

$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,临时想的,可以过审吗?

split 后更改列表再 join 呗

awk -F’,’ ‘{ print $NF }’

  • -! 理解错楼主的需求了。。。忽略楼上

s=‘a,b,c,d,‘
s_nu=len(s)
if s[s_nu-1:s_nu]==’,’:
s=s[0:s_nu-1]
长度,判断,重新赋值
我测试过,可以跑的通

str := "a,b,c,d,"
str = str[:len(s)-1]

如下

a=“this,is,that,is,what”
b=a.split(’,’)
b.pop()
c=’,’.join(b)

$newString = rtrim(‘ a,b,c,d,’, ‘,’);

为啥要 pop 一个

java 我还想了半天怎么实现,直接有个方法
public static void main(String[] args) {

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

}

一楼就是正解啊,py 里可迭代对象都能切片操作

字符串去掉最后一个字符吧

题主题目所述与题内所给示例有出入,造成歧义

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

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

所以此题,暂时无解

python 的话
str.strip(’,’)

最后一个逗号后的丢弃

bash
s=${s::-1}

a = “13asda,asda,“
if a.endswith(”,”):
a = a[:-1]

回到顶部