在一个包含多种空格字符的字符串中,对每个单词应用函数的最python方法是什么?

2024-06-02 17:43:52 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个函数

def f(a):
  return a[::-1]

我想把函数f应用于字符串中的每个单词。如果字符串只包含空格,我可以这样做

^{pr2}$

但是当字符串由多种类型的空白组成时,我该怎么做呢?(例如\t和\n)

例如,我想改变

'\t  \t this  is a\tbanana   \n'

'\t  \t siht  si a\tananab   \n'

Tags: 函数字符串returnisdefthis单词空白
2条回答

使用正则表达式,^{} function接受一个函数来进行替换。将非空白改为:

re.sub(r'[^\s]+', lambda m: f(m.group(0)), s)

函数被传递给match object;使用.group(0)可以提取匹配的文本以将其传递给函数。返回值用于替换输出字符串中的原始匹配文本。在

演示:

^{pr2}$

使用正则表达式,你可以很容易地得到整个单词和连续空格的整个块。在

相关问题 更多 >