社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在python中,在某些字符出现多次之后,如何修剪字符串?

Apmartin • 5 年前 • 1579 次点击  

我正试图扫描一个字符串,每次它读取某个字符3次,我都想剪切剩余的字符串

例如: 字符串“c:\ temp\test\documents\test.doc”将变成“c:\ temp\test”

每次字符串点击“\”3次,都应该修剪字符串

这是我正在编写的代码

prefix = ["" for x in range(size)]
num = 0
...            
...            
            for char in os.path.realpath(src):
                for x in prefix:
                    x = char
                    if x =='\': # I get an error here
                        num = num + 1
                    if num == 3:
                        break
                    print (num)

            print(prefix)
...
...

这个 os.path.realpath(src) 是带有文件路径的字符串。“prefix”变量是要存储修剪过的字符串的字符串数组。

请告诉我需要修复什么,或者是否有更简单的方法来执行此操作。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46576
 
1579 次点击  
文章 [ 4 ]  |  最新文章 5 年前
iScripters
Reply   •   1 楼
iScripters    6 年前

像这样的事就行了。

x = "C:\Temp\Test\Documents\Test.doc"
print('\\'.join(x.split("\\")[:3])+"\\")
AbtPst
Reply   •   2 楼
AbtPst    6 年前

尝试

s = "C:\\Temp\\Test\\Documents\\Test.doc"
answer = '\\'.join(s.split('\\', 3)[:3])
Hippolippo
Reply   •   3 楼
Hippolippo    6 年前

在python中,反斜杠字符用作转义字符。如果您这样做,它将执行换行操作,即执行制表符操作。还有很多其他的事情,比如“让你在一个字符串中做一个引号”。如果你想要一个普通的反斜杠,你应该做“\\”

Austin
Reply   •   4 楼
Austin    6 年前

split 然后切片列表以获取所需的 join 以下内容:

s = 'C:\Temp\Test\Documents\Test.doc'

print('\\'.join(s.split('\\')[:3]) + '\\')
# C:\Temp\Test\

请注意 \ (反斜杠)是转义字符。要明确表示反斜杠,请通过在反斜杠之前添加反斜杠来将其强制为反斜杠 \\ ,从而删除反斜杠的特殊含义。