博主2015年曾经分享过一个visual basic下的字符串处理函数 (GetStr: 一个自创蛮有用的字符串函数~-CSDN博客),作用是截取一个字符串中,两个标识符中间的字符串。
试着把它丢给DeepSeek,让它帮忙翻译成python代码~~~
DeepSeek在收到我的代码后,首先提出了实现思路,然后很快给出了代码:
实现思路
-
函数定义:定义一个函数
get_str
,接受三个参数input_string
、string1
和string2
。 -
查找子字符串位置:
-
使用
find
方法查找string1
在input_string
中的位置start
。 -
如果
string1
不存在于input_string
,返回空字符串。
-
-
调整起始位置:
-
将
start
移动到string1
结尾的下一个字符位置。
-
-
查找第二个子字符串位置:
-
从调整后的
start
位置开始查找string2
的位置end
。 -
如果
string2
不存在于input_string
,返回空字符串。
-
-
提取子字符串:
-
从
start
到end
提取input_string
中的子字符串并返回。
-
解决代码
def get_str(input_string, string1, string2):
# 查找string1在input_string中的位置
start = input_string.find(string1)
if start == -1:
return ""
# 移动到string1结束的下一个字符
start += len(string1)
# 查找string2从start位置开始的位置
end = input_string.find(string2, start)
if end == -1:
return ""
# 提取并返回string1和string2之间的子字符串
return input_string[start:end]
采用和visual basic中相同的测试方法测试,代码如下:
samplestr = "abc(12345)test"
teststr= get_str(samplestr, "(", ")")
print (teststr)
输出结果:
12345
不得不说,DeepSeek这个移植工作做得太棒了~~~
ps: visual basic原函数代码请参照: GetStr: 一个自创蛮有用的字符串函数~-CSDN博客