我如何将此字符串转换为 Python 中的整数和其他字符串

How can i convert this string to integers & other strings in Python

我得到了这个字符串...

String = '-268 14 7 19  - Fri Aug  3 12:32:08 2018\n'

我想在整数变量中获取前 4 个数字(-268、14、7、19),在另一个字符串变量中获取 Fri Aug 3 12:32:08。

这可能吗?

使用str.split

例如:

String = '-268 14 7 19  - Fri Aug  3 12:32:08 2018\n'
first, second = String.split(" - ")
first = tuple(int(i) for i in first.split())
print(first)
print(second)

输出:

(-268, 14, 7, 19)
Fri Aug  3 12:32:08 2018

使用基本 python

string = '-268 14 7 19  - Fri Aug  3 12:32:08 2018\n'
vals, date = string.strip().split(' - ')
int_vals = [int(v) for v in vals.split()]

print(int_vals)  # [-268, 14, 7, 19]
print(date)  # Fri Aug 3 12:32:08 2018

使用正则表达式

import re
match = re.search(r'([-\d]+) ([-\d]+) ([-\d]+) ([-\d]+)[ -]*(.*)', string)

date = match.group(5)
int_vals = [int(v) for v in match.groups()[:4]]  # same results

为此使用 splitmap:

left, date = String.split(' - ')
numbers = list(map(int, left.split()))

print(numbers, date)