如果我接受如下輸入
input = "100 hours"
如何從變數中分別獲取整數和字串并將它們分配給兩個單獨的變數
uj5u.com熱心網友回復:
您可以使用帶有兩個組的正則運算式來做到這一點。組是括在括號()元字符中的正則運算式模式的一部分
例如:
import re
target_string = "100 hours"
# two groups enclosed in separate ( and ) bracket
result = re.search(r"([0-9] ).*([a-zA-Z] )", target_string)
# Extract matching values of all groups
print(result.groups())
# Output ('100', 'hours')
uj5u.com熱心網友回復:
您可以split在此處與元組語法一起使用:
input = "100 hours"
(num, units) = input.split()
print(num) # 100
print(units) # hours
uj5u.com熱心網友回復:
您可以使用正則運算式嘗試以下解決方案:
import re
input_string = "100 hours"
# substitute all the characters and spaces with an empty string
only_numbers = re.sub(r"[a-zA-Z ]", "", input_string)
# substitute all the numbers with an empty string
only_characters = re.sub(r"[0-9]", "", input_string)
print(only_numbers) # prints "100"
print(only_characters) # prints " hours"
這個解決方案的好處是,無論數字和字符如何分布在整個輸入字串中,它都可以作業。您可以調整每個陳述句中的正則運算式以滿足您的特定需求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/460285.html
標籤:Python python-3.x 变量 输入
上一篇:為什么我的滑塊不能正常向后作業
下一篇:在HTML中多次使用相同的變數
