如何从Python中的字符串中获取两个特定字符之间的字符串

时间:2018-09-22 21:58:44

标签: python regex string python-3.x python-2.7

我有一个Json文件,我将其转换为python中的字典。 词典中称为(target)的值之一具有此字符串。我想用此字符串名称(dawn_tables_tornado_affected.txt)创建一个文件,然后从同一词典的另一个值写入内容

target = /inc/ab_sdfs_sf/dawn_tables_tornado_affected.sql

with open("/Users/David/House/“ + str(point.get('target')) + “.txt , "w") as f:
    f.write()

如何获取仅使用“ dawn_tables_tornado_affected”的变量?

2 个答案:

答案 0 :(得分:1)

您的代码中有一些错误

目标应该是一个字符串,然后用双引号"

包裹

字符对于字符串关闭无效,应替换为"

如果要从"dawn_tables_tornado_affected"中提取"/inc/ab_sdfs_sf/dawn_tables_tornado_affected.sql",可以使用以下命令:

target = "/inc/ab_sdfs_sf/dawn_tables_tornado_affected.sql"

file_name = target.split('/')[-1].split('.')[0]

target.split('/')将使用'/'作为分隔符将字符串分成一个数组。 target.split('/')[-1]获取数组的最后一项。

答案 1 :(得分:0)

尝试一下!

Python代码:

import re
target = "/inc/ab_sdfs_sf/dawn_tables_tornado_affected.sql"
matchObj = re.match( r'.*/([^/]*)[.]', target, re.M|re.I)
print ("File Name : ", matchObj.group(1))

输出:

File Name :  dawn_tables_tornado_affected 

通过正则表达式101验证:

enter image description here