Tôi có một chuỗi như "GoTo: 7018 6453 12654\n"
Tôi chỉ muốn có được một cái gì đó giống như số ['7018', '6453', '12654']
này, tôi cố gắng biểu hiện thường xuyên nhưng tôi không thể tách chuỗi để có được chỉ số ở đây là mã của tôi:Tách chuỗi và chỉ nhận số trong python?
Mẫu 1:
splitter = re.compile(r'\D');
match1 = splitter.split("GoTo: 7018 6453 12654\n")
my output is: ['', '', '', '', '', '', '', '', '7018', '6453', '12654', '']
mẫu 2:
splitter = re.compile(r'\W');
match1 = splitter.split("GoTo: 7018 6453 12654\n")
my output is: ['GoTo', '', '7018', '6453', '12654', '']
+1 cho người không tái. Người ta có thể dễ dàng ném 'int (item) 'vào đó, nếu điều này là cần thiết sau này. – plundra
Đã làm một số 'timeit' ... Nếu chia + isdigit là giá trị cơ bản (nó là nhanh nhất), biên dịch re.findall là 1,5 lần chậm hơn và uncompliled re.findall 2.5. – plundra
Điều này chỉ hoạt động nếu dấu phân cách là khoảng trống thuần túy (ví dụ: "1, 2, 3" sẽ phá vỡ nó) – 6502