Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-我可以在第一个整数之后使用str.split拆分字符串吗?_Python - Fatal编程技术网

Python-我可以在第一个整数之后使用str.split拆分字符串吗?

Python-我可以在第一个整数之后使用str.split拆分字符串吗?,python,Python,我有一些字符串如下所示: text-text-text-12345 但是“text”的数量不一样,所以我不想在“-”上拆分字符串 有没有什么方法可以在数字第一次出现时分割,这样我就有了字符串 文本- 我正在考虑使用正则表达式,但我很想知道str.split是否可以解决这个问题 非常感谢。就这么办吧 for (i, c) in enumerate(s): if c.isdigit(): break else: raise ValueError('input w

我有一些字符串如下所示:

text-text-text-12345

但是“text”的数量不一样,所以我不想在“-”上拆分字符串

有没有什么方法可以在数字第一次出现时分割,这样我就有了字符串

文本-

我正在考虑使用正则表达式,但我很想知道str.split是否可以解决这个问题

非常感谢。

就这么办吧

for (i, c) in enumerate(s): if c.isdigit(): break else: raise ValueError('input with no number part') fields = s[:i].split('-') 对于枚举中的(i,c): 如果c.isdigit(): 打破 其他: raise VALUE ERROR('输入没有数字部分') 字段=s[:i]。拆分('-')) 照办

for (i, c) in enumerate(s): if c.isdigit(): break else: raise ValueError('input with no number part') fields = s[:i].split('-') 对于枚举中的(i,c): 如果c.isdigit(): 打破 其他: raise VALUE ERROR('输入没有数字部分') 字段=s[:i]。拆分('-'))
使用正则表达式:

>>> import re
>>> re.split(r'(?<=\d)\D', 'start 123 after text', maxsplit=1)
['start 123', 'after text']
>>重新导入

>>>关于split(r’(?使用正则表达式:

>>> import re
>>> re.split(r'(?<=\d)\D', 'start 123 after text', maxsplit=1)
['start 123', 'after text']
>>重新导入

>>>re.split(r’(?spliting意味着取出多个片段,您的示例仅获取第一个片段。也许您不需要第二个(以及后续)片段?不,无法处理此问题。您需要使用
re
。您能更详细地解释您的问题吗?解决方案似乎是
string.rsplit(您的_字符串,“-”,1)
,但可能没那么容易。@PritamBaral,很抱歉,我忘了包括我将只获取第一个片段。可能需要列表理解。谢谢。我将使用re。拆分意味着获取多个片段,您的示例只获取第一个片段。也许您不需要第二个(以及后续的)片段碎片?不,无法处理此问题。您需要使用
re
。您可以详细解释您的问题吗?解决方案似乎是
string.rsplit(您的_字符串,“-”,1)
,但可能没那么容易。@PritamBaral,很抱歉,我忘了包括我将只抓取第一部分。可能是列表理解。谢谢。我会使用re。正则表达式会比这好得多。这是python,毕竟不是无电池汇编。JWZ的强制性引用:有些人在遇到问题时,会想“我知道,我会用正则表达式。”现在他们有两个问题。哇,这可能是我见过的最糟糕的引用。让我来解释一下原因。正则表达式是一个非常适合这个问题的解决方案。而且是一个简单的正则表达式。尝试在这里引用这句话就像说正则表达式本身就是一个问题。这句引用带有一个隐含的微笑;)但我不同意仅仅断言“Regex是一个完全适合这个问题的解决方案”会改变主意。Regex会比这好得多。这毕竟是python,而不是无电池的汇编。JWZ的强制性引用:有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题。哇,这可能是我见过的最糟糕的引用。让我来解释一下原因。正则表达式是一个非常适合这个问题的解决方案。而且是一个简单的正则表达式。尝试在这里引用这句话就像说正则表达式本身就是一个问题。这句引用带有一个隐含的微笑;)但我不同意仅仅断言“Regex是一个完全适合这个问题的解决方案”就能改变人们的想法。