Làm thế nào tôi có thể tìm thấy số cuối cùng trong bất kỳ chuỗi lớn nào?
Đối với ví dụ trong chuỗi sau, tôi muốn 47 làm đầu ra:
>>> text = 'tr bgcolor="aa77bb"td>font face="verdana"color="white" size="2">b>Total/b>/font>/td>\td>font face="verdana"color="white" size="2">b>47/b>/font>/td>/tr>'
>>> import re
>>> re.search[r'[\d+]\D+$', text].group[1]
'47'
1Tái bút: Chúng tôi không biết số. Số 47 chỉ là một ví dụ. Nó có thể là bất kỳ số nào từ 0 đến 900.
Jamylak
124K29 Huy hiệu vàng227 Huy hiệu bạc229 Huy hiệu Đồng29 gold badges227 silver badges229 bronze badges
Đã hỏi ngày 9 tháng 6 năm 2013 lúc 7:03Jun 9, 2013 at 7:03
1
>>> import re
>>> text = 'tr bgcolor="aa77bb"td>font face="verdana"color="white" size="2">b>Total/b>/font>/td>\td>font face="verdana"color="white" size="2">b>47/b>/font>/td>/tr>'
>>> re.findall[r'\d+', text][-1]
'47'
Nếu bạn cần phải khớp các điểm nổi thì luôn có cái này
Đối với các chuỗi rất dài, điều này hiệu quả hơn:
re.search[r'\d+', text[::-1]].group[][::-1]
Đã trả lời ngày 9 tháng 6 năm 2013 lúc 7:05Jun 9, 2013 at 7:05
Jamylakjamylakjamylak
124K29 Huy hiệu vàng227 Huy hiệu bạc229 Huy hiệu Đồng29 gold badges227 silver badges229 bronze badges
4
Đã hỏi ngày 9 tháng 6 năm 2013 lúc 7:03
>>> text = 'tr bgcolor="aa77bb"td>font face="verdana"color="white" size="2">b>Total/b>/font>/td>\td>font face="verdana"color="white" size="2">b>47/b>/font>/td>/tr>'
>>> import re
>>> re.search[r'[\d+]\D+$', text].group[1]
'47'
Nếu bạn cần phải khớp các điểm nổi thì luôn có cái nàyJun 9, 2013 at 7:46
Đối với các chuỗi rất dài, điều này hiệu quả hơn:Matt Anderson
Đã trả lời ngày 9 tháng 6 năm 2013 lúc 7:0511 gold badges41 silver badges55 bronze badges
2
Nhận bốn ký tự cuối cùng của một chuỗi trong python bằng hàm len [] Truy cập biểu diễn chuỗi của số.162329: Output: Chuyển đổi ký tự thành một số nguyên. Ví dụ: hãy để Lừa nhận được chữ số cuối cùng của số 162329: Cách tiếp cận tốc ký Bạn cũng có thể làm cho mã trên ngắn hơn một chút bằng cách kết hợp các bước 1-3 thành một biểu thức duy nhất: Kết quả: Output: Để có được chữ số cuối cùng của một số thập phân, hãy chuyển đổi số thành một chuỗi, lấy ký tự cuối cùng và chuyển đổi nó trở lại một số nguyên. Ví dụ, hãy để Lừa nhận được số thập phân cuối cùng của một xấp xỉ ba thập phân của PI. Sự kết luận Để tóm tắt lại, lấy biểu diễn chuỗi của số, truy cập ký tự cuối cùng và chuyển đổi nó trở lại sang số nguyên. Cảm ơn vì đã đọc. Mã hóa hạnh phúc! Đọc thêmn = 162329
# 1. Get the string representation
num_str = repr[n]
# 2. Access the last string of the digit string:
last_digit_str = num_str[-1]
# 3. Convert the last digit string to an integer:
last_digit = int[last_digit_str]
print[f"The last digit of {n} is {last_digit}"]
The last digit of 162329 is 9
Nhận ký tự cuối cùng của biểu diễn chuỗi.
n = 162329
last_digit = int[repr[n][-1]]
print[f"The last digit of {n} is {last_digit}"]
The last digit of 162329 is 9
pi = 3.141
last_digit = int[repr[pi][-1]]
print[f"The last digit of {pi} is {last_digit}"]
The last digit of 3.141 is 1
Cách tiếp cận tương tự bạn đã học trước đó cũng hoạt động cho các số thập phân.
Hôm nay bạn đã học được cách lấy số cuối cùng từ một chữ số.
Chúng tôi đã tính độ dài của chuỗi trước, sau đó cắt chuỗi từ vị trí chỉ mục [độ dài - 4] cho vị trí chỉ mục cuối cùng và chúng tôi có một chuỗi con chứa bốn ký tự cuối cùng của chuỗi. Ví dụ hoàn chỉnh như sau,sample_str that contains a string i.e. Trong Python, một chuỗi là một chuỗi các ký tự và mỗi ký tự trong đó có một số chỉ mục được liên kết với nó. Ví dụ: chúng tôi có một biến chuỗi mẫu_STR có chứa một chuỗi, tức là.sample_str = "Sample String"
‘a’ has index 1
‘m’ has index 2
‘p’ has index 3
‘l’ has index 4
‘e’ has index 5
‘ ‘ has index 6
‘S’ has index 7
‘t’ has index 8
‘r’ has index 9
‘i’ has index 10
‘n’ has index 11
‘g’ has index 12
Mỗi ký tự trong chuỗi này có một số trình tự và nó bắt đầu bằng 0 I.E.
'S' có chỉ mục 0 'a' có chỉ mục 1 'm' có chỉ mục 2 'p' có chỉ mục 3 'l' có chỉ mục 4 'e' có chỉ số 5 '' có chỉ số 6 's' có chỉ số 7 't' có chỉ mục 8 'r' có chỉ mục 9 'i' có chỉ mục 10 'n' có chỉ số 11 'g' có chỉ mục 12
Trong Chuỗi Python cung cấp toán tử [] để truy cập bất kỳ ký tự nào trong chuỗi theo vị trí chỉ mục. Chúng ta cần vượt qua vị trí chỉ mục trong dấu ngoặc vuông và nó sẽ trả về ký tự ở chỉ mục đó. Vị trí chỉ số này có thể là một giá trị INT tích cực hoặc âm.sample_str[i] will return a character at index i-th index position. We used the same concept to access the first N characters of a string in the previous article.
Quảng cáo
Giống như sample_str [i] sẽ trả về một ký tự tại vị trí chỉ mục INDEX I. Chúng tôi đã sử dụng cùng một khái niệm để truy cập vào n ký tự đầu tiên của một chuỗi trong bài viết trước.
Nhưng ở đây, tình hình là một chút khó khăn; Chúng tôi muốn truy cập các yếu tố từ cuối cùng trong chuỗi. Chà, có nhiều cách khác nhau để làm điều này, hãy để chúng tôi thảo luận từng người một.
Sử dụng lập chỉ mục âm để có được ký tự cuối cùng của chuỗi trong Python
Ngoài các chỉ mục dương, chúng ta có thể chuyển các chỉ mục -ve cho toán tử [] của chuỗi. Mỗi ký tự trong chuỗi có một chỉ mục âm được liên kết với nó như ký tự cuối cùng trong chuỗi có chỉ mục -1 và ký tự cuối cùng thứ hai trong chuỗi có chỉ mục -2.
‘a’ has index -12
‘m’ has index -11
‘p’ has index -10
‘l’ has index -9
‘e’ has index -8
‘ ‘ has index -7
‘S’ has index -6
‘t’ has index -5
‘r’ has index -4
‘i’ has index -3
‘n’ has index -2
‘g’ has index
-1
Vì vậy, nếu chuỗi của chúng tôi là ‘chuỗi mẫu, thì việc lập chỉ mục âm trong đó sẽ giống như,
re.search[r'\d+', text[::-1]].group[][::-1]
0Đầu ra:
re.search[r'\d+', text[::-1]].group[][::-1]
1Chúng tôi đã cắt chuỗi từ vị trí chỉ mục thứ tư vào vị trí chỉ mục cuối cùng và chúng tôi có một chuỗi con chứa bốn ký tự cuối cùng của chuỗi.
Nhận bốn ký tự cuối cùng của một chuỗi trong python bằng hàm len []
Chúng tôi đã tính độ dài của chuỗi trước, sau đó cắt chuỗi từ vị trí chỉ mục [độ dài - 4] cho vị trí chỉ mục cuối cùng và chúng tôi có một chuỗi con chứa bốn ký tự cuối cùng của chuỗi.
re.search[r'\d+', text[::-1]].group[][::-1]
2Đầu ra:
re.search[r'\d+', text[::-1]].group[][::-1]
1Chúng tôi đã cắt chuỗi từ vị trí chỉ mục thứ tư vào vị trí chỉ mục cuối cùng và chúng tôi có một chuỗi con chứa bốn ký tự cuối cùng của chuỗi.
Nhận bốn ký tự cuối cùng của một chuỗi trong python bằng hàm len []
Trong Python, ngoài vị trí chỉ số, toán tử giám sát, tức là [] cũng có thể chấp nhận một phạm vi, tức là.
re.search[r'\d+', text[::-1]].group[][::-1]
4Nó trả về một lát chuỗi, tức là một chuỗi con. Nếu chúng ta muốn lấy nhiều hơn một ký tự trong một chuỗi, tức là tìm nạp một chuỗi con, thì chúng ta có thể vượt qua các phần tử phạm vi này trong toán tử [],
- start_index_pos: vị trí chỉ mục, từ đó nó sẽ bắt đầu tìm nạp các ký tự, giá trị mặc định là 0: Index position, from where it will start fetching the characters, the default value is 0
- end_index_pos: vị trí chỉ mục cho đến khi nó sẽ tìm nạp các ký tự từ chuỗi, giá trị mặc định là kết thúc của chuỗi: Index position till which it will fetch the characters from string, default value is the end of string
- BƯỚC_SIZE: Khoảng thời gian giữa mỗi ký tự, giá trị mặc định là 1.: Interval between each character, default value is 1.
Để có được n ký tự cuối cùng của chuỗi, chúng ta cần vượt qua các chỉ mục âm hoặc sử dụng hàm len [] để tính phạm vi,
Nhận bốn ký tự cuối cùng của một chuỗi trong Python bằng cách sử dụng các chỉ mục âm
re.search[r'\d+', text[::-1]].group[][::-1]
5Đầu ra:
re.search[r'\d+', text[::-1]].group[][::-1]
6Chúng tôi đã cắt chuỗi từ vị trí chỉ mục thứ tư vào vị trí chỉ mục cuối cùng và chúng tôi có một chuỗi con chứa bốn ký tự cuối cùng của chuỗi.
Nhận bốn ký tự cuối cùng của một chuỗi trong python bằng hàm len []
re.search[r'\d+', text[::-1]].group[][::-1]
7Đầu ra:
re.search[r'\d+', text[::-1]].group[][::-1]
8Chúng tôi đã cắt chuỗi từ vị trí chỉ mục thứ tư vào vị trí chỉ mục cuối cùng và chúng tôi có một chuỗi con chứa bốn ký tự cuối cùng của chuỗi.
Nhận bốn ký tự cuối cùng của một chuỗi trong python bằng hàm len []
re.search[r'\d+', text[::-1]].group[][::-1]
9Output:
>>> text = 'tr bgcolor="aa77bb"td>font face="verdana"color="white" size="2">b>Total/b>/font>/td>\td>font face="verdana"color="white" size="2">b>47/b>/font>/td>/tr>'
>>> import re
>>> re.search[r'[\d+]\D+$', text].group[1]
'47'
0