Skip to main content
 首页 » 编程设计

Python 使用 hex\x00 删除空格后的所有内容

2025年05月04日9cyq1162

我有一个长度未知的可变字符串,左边是重要的字符串,右边是不重要的字符串,中间用一个空格隔开。如何去掉右边不重要的信息?

我已经尝试过 rstrip,但没有成功拆分。

编辑:我将放置需要修复的实际值。

"NPC_tester_contact() ) ntact()                                                                                                                                                                                                                 " 

第一个空格(留在右括号中的那个)应该将包含自身在内的所有内容标记为不重要。

编辑:输出应该是“NPC_tester_contact()”!

仔细看我放在上面的字符串。它后面也有很多空格。我认为这就是造成打嗝的原因。

我已经尝试了这里的大部分解决方案,它们要么什么都不做,要么只产生空白。

repr(s) 给我。

'NPC_me_lvup_event_contact()\x00t()\x00act()\x00act()\x00ntact()\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 

应该是“NPC_me_lvup_event_contact()”。

谢谢!

也许这是一个更好的问题。有没有办法删除字符串中出现的第一个\x00 十六进制之后的所有字符?

出于某种原因,它有时有效,但并不总是有效。上面的例子是用 Levon 发布的方法完成的。

解决方案:问题已解决。这更像是一个空字节而不是一个空格字节。解决方案可能是以下任何使用“\x00”作为标识符而不是“”的方法。

谢谢大家!

请您参考如下方法:

更新基于新字符串数据:

假设 s 包含您的字符串:

s.split('\x00')[0] 

产量

'NPC_me_lvup_event_contact()' 

split()将为您提供一个字符串列表,这些字符串由您使用 split 指定的字符分隔。如果未指定,则使用空格,在这种情况下,我们使用您感兴趣的十六进制字符。