在python中从字符串中获取最后一个单词

在python中从字符串中获取最后一个单词,python,Python,假设str='UPPER(\'Sales\“\'PRODUCT\u NAME\”)是我的字符串,我只想从这个字符串中获取'PRODUCT\u NAME'(最后一个单词)。我尝试了下面的技巧,但它没有为我提供正确的单词作为'PRODUCT\u NAME'。我怎样才能做到这一点?使用正则表达式有没有简单的方法来实现这一点 str='UPPER(\'Sales\'PRODUCTS\'PRODUCTS\'u NAME\)' val=str.strip(“(|”)”) val=val.split(“.”)

假设
str='UPPER(\'Sales\“\'PRODUCT\u NAME\”)
是我的字符串,我只想从这个字符串中获取
'PRODUCT\u NAME'
(最后一个单词)。我尝试了下面的技巧,但它没有为我提供正确的单词作为
'PRODUCT\u NAME'
。我怎样才能做到这一点?使用正则表达式有没有简单的方法来实现这一点

str='UPPER(\'Sales\'PRODUCTS\'PRODUCTS\'u NAME\)'
val=str.strip(“(|”)”)
val=val.split(“.”)
val_final=val[-1]。带(“”)

使用
re.findall
作为正则表达式选项,我们可以尝试:

inp='UPPER(\'Sales\'PRODUCTS\'PRODUCTS\'u NAME\”)
output=re.findall(r'^.*\b(\w+.*$',inp)
打印(输出[0])#打印产品_名称

对于如何工作的解释,正则表达式模式将匹配所有内容,直到最终单词边界,然后是最终单词。然后,我们访问此匹配以打印所需结果。

使用
re.findall
对于正则表达式选项,我们可以尝试:

inp='UPPER(\'Sales\'PRODUCTS\'PRODUCTS\'u NAME\”)
output=re.findall(r'^.*\b(\w+.*$',inp)
打印(输出[0])#打印产品_名称
为了解释其工作原理,正则表达式模式将匹配所有内容,直到最后一个单词边界,然后是最后一个单词。然后,我们访问此匹配以打印所需的结果。

strip()方法仅从字符串末端移除内容,因此您需要在提取最后一个单词后执行此操作(带有您不需要的其他字符):

string='UPPER(\'Sales\'PRODUCTS\'PRODUCTS\'u NAME\”)
val_final=string.split('.')[-1].strip(''))
另外,使用
str
作为变量名不是一个好主意,因为它会覆盖内置的
str
类型

有关
strip()
这将删除字符串两端提供的所有字符。我猜想你所说的
(|)是指
。只需将其写成
split(“()”)
。在上面的解决方案中,我省略了
(“
”,因为它不会出现在字符串的末尾。但是
会出现,所以我包括了这些。

strip()
方法只会从字符串的末尾删除内容,所以您需要在提取最后一个单词后执行此操作(带有您不需要的其他字符):

string='UPPER(\'Sales\'PRODUCTS\'PRODUCTS\'u NAME\”)
val_final=string.split('.')[-1].strip(''))
另外,使用
str
作为变量名不是一个好主意,因为它会覆盖内置的
str
类型

有关
strip()

这将删除字符串两端提供的所有字符。我怀疑
'(|)的
意思是
'('
')
。只需将其写成
拆分('()')
。在上述解决方案中,我省略了
'('
),因为它不会出现在字符串的末尾。但是
'“
是的,所以我把这些都包括在内。

@WasifHasan…我猜是因为盲目复制OP而支付的罚款…@WasifHasan…我猜是因为盲目复制OP而支付的罚款。。。