对文本中所有数字的操作
operation on all numbers iwthin a text
我想将文本文件中的所有数字乘以相同的系数。我真的不知道从哪里开始(我目前正在尝试重新替换方法,但这似乎没有用)。请帮忙!
有了这个:
Regex regex = new Regex(@"^\d$");
你得到了所有的数字。
那就乘以吧。
(如果你想把它们放回正文中,只需获取这些数字的索引)。
使用匹配数字的正则表达式和函数替换。该函数应将匹配的字符串解析为数字,将其乘以 2,然后 return 作为字符串。
import re
def int_or_float(s):
try:
return int(s)
except ValueError:
return float(s)
text = "Blah blah 3 foo bar -15 xxx 124.3"
newtext = re.sub(r'-?\d+(?:\.\d+)?', lambda m: str(int_or_float(m.group(0)) * 2), text)
print(newtext)
# Output: Blah blah 6 foo bar -30 xxx 248.6
我想将文本文件中的所有数字乘以相同的系数。我真的不知道从哪里开始(我目前正在尝试重新替换方法,但这似乎没有用)。请帮忙!
有了这个:
Regex regex = new Regex(@"^\d$");
你得到了所有的数字。
那就乘以吧。
(如果你想把它们放回正文中,只需获取这些数字的索引)。
使用匹配数字的正则表达式和函数替换。该函数应将匹配的字符串解析为数字,将其乘以 2,然后 return 作为字符串。
import re
def int_or_float(s):
try:
return int(s)
except ValueError:
return float(s)
text = "Blah blah 3 foo bar -15 xxx 124.3"
newtext = re.sub(r'-?\d+(?:\.\d+)?', lambda m: str(int_or_float(m.group(0)) * 2), text)
print(newtext)
# Output: Blah blah 6 foo bar -30 xxx 248.6