首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除字符串的左边部分?

如何删除字符串的左边部分?
EN

Stack Overflow用户
提问于 2009-03-01 15:19:38
回答 22查看 284.2K关注 0票数 162

我有一些简单的python代码来搜索文件中的字符串,例如path=c:\path,其中的c:\path部分可能会有所不同。当前代码为:

代码语言:javascript
复制
def find_path(i_file):
    lines = open(i_file).readlines()
    for line in lines:
        if line.startswith("Path="):
            return # what to do here in order to get line content after "Path=" ?

获取Path=之后的文本的简单方法是什么

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2020-04-26 05:01:57

Python 3.9开始,您可以使用removeprefix

代码语言:javascript
复制
'Path=helloworld'.removeprefix('Path=')
# 'helloworld'
票数 66
EN

Stack Overflow用户

发布于 2009-03-01 15:26:57

如果字符串是固定的,您可以简单地使用:

代码语言:javascript
复制
if line.startswith("Path="):
    return line[5:]

它提供了从字符串中位置5开始的所有内容(字符串也是一个序列,因此这些序列操作符也可以在这里使用)。

或者,您可以在第一个=处拆分该行

代码语言:javascript
复制
if "=" in line:
    param, value = line.split("=",1)

那么param就是"Path“,value就是第一个=之后的剩余部分。

票数 207
EN

Stack Overflow用户

发布于 2009-03-01 18:03:24

从字符串中删除前缀

代码语言:javascript
复制
# ...
if line.startswith(prefix):
   return line[len(prefix):]

通过str.partition()在第一次出现分隔符时拆分

代码语言:javascript
复制
def findvar(filename, varname="Path", sep="=") :
    for line in open(filename):
        if line.startswith(varname + sep):
           head, sep_, tail = line.partition(sep) # instead of `str.split()`
           assert head == varname
           assert sep_ == sep
           return tail

ConfigParser解析类INI文件

代码语言:javascript
复制
from ConfigParser import SafeConfigParser
config = SafeConfigParser()
config.read(filename) # requires section headers to be present

path = config.get(section, 'path', raw=1) # case-insensitive, no interpolation

其他选项

票数 130
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/599953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档