逗号后从python字符串中删除子字符串

时间:2017-09-28 09:15:54

标签: python python-3.x

我有一个像这样的python字符串;

input_str = "2548,0.8987,0.8987,0.1548"

我想删除最后一个逗号后面的子字符串,包括逗号本身。

输出字符串应如下所示;

output_str = "2548,0.8987,0.8987"

我正在使用python v3.6

5 个答案:

答案 0 :(得分:3)

使用splitjoin

','.join(input_str.split(',')[:-1])

解释

# Split string by the commas
>>> input_str.split(',')
['2548', '0.8987', '0.8987', '0.1548']

# Take all but last part
>>> input_str.split(',')[:-1]
['2548', '0.8987', '0.8987']

# Join the parts with commas
>>> ','.join(input_str.split(',')[:-1])
'2548,0.8987,0.8987'

使用rsplit

input_str.rsplit(',', maxsplit=1)[0]

使用re

re.sub(r',[^,]*$', '', input_str)

如果您要多次使用它,请确保编译正则表达式:

LAST_ELEMENT_REGEX = re.compile(r',[^,]*$')
LAST_ELEMENT_REGEX.sub('', input_str)

答案 1 :(得分:1)

你可以尝试这个最简单的。我们在这里使用<plugin>     <groupId>org.apache.tomcat.maven</groupId>     <artifactId>tomcat-maven-plugin</artifactId>     <version>2.2</version> <configuration> <path>/</path> <!-- root folder currently --> </configuration> </plugin> splitpop来获得理想的结果。

Try this code snippet here

join

答案 2 :(得分:1)

假设你的字符串中肯定有一个逗号:

output_str = input_str[:input_str.rindex(',')]

那是&#34;从字符串的开头到逗号的最后一个索引#34;。

答案 3 :(得分:0)

python有the split function

print input_str.split(',')

将返回:

['2548,0.8987,0.8987', '0.1548']

但如果您有多个逗号,rsplit is here for that

str = '123,456,789'
print str.rsplit(',', 1)

将返回:

['123,456','789']

答案 4 :(得分:0)

你去吧

sep = ','
count = input_str.count(sep)
int i=0;
output = ''
while(i<count):
    output += input_str.split(sep, 1)[i]
    i++
input_str = output