【问题标题】:String operations in python 2.7python 2.7中的字符串操作
【发布时间】:2017-10-10 11:49:07
【问题描述】:

我有一个变量mystr(字符串类型) 其中包含以下数据:

zxoxcndsabcaa88912,(已用磁盘空间、每分钟请求数、操作系统内存 使用情况、繁忙线程、磁盘 I/O、堆内存使用情况、CPU 负载、平均 回复 Time,AccessTokenCount,RequestsCountPerMin,AverageResponseTimePerMin,CurrentBusyThreads,CurrentUsedMemory,ActiveClientRegistrationThreads,BorrowedConnectionsCount,ClientCount,RefreshTokenCount,FailedAccountTerminations,Error500CountMin,AuthorizationCodeCount)zxoxcndsabcaa900342, (已用磁盘空间、每分钟请求数、操作系统内存使用情况、繁忙线程、磁盘 I/O、堆内存使用、CPU 负载、平均响应 Time,AccessTokenCount,RequestsCountPerMin,AverageResponseTimePerMin,CurrentBusyThreads,CurrentUsedMemory,ActiveClientRegistrationThreads,BorrowedConnectionsCount,ClientCount,RefreshTokenCount,FailedAccountTerminations,Error500CountMin,AuthorizationCodeCount)

从这里我过滤是否存在忙线程,那么它应该退出系统,如果没有,那么它应该执行代码的其余部分。

这是我的代码:

print type(mystr)
if 'Busy Threads' in mystr:
   print 'Busy threads is present'
   sys.exit(1)
else:
   print 'Busy threads not present'

检查()

但是我在这里面临的问题是我在 mystr 的结果中还有一个字符串 CurrentBusyThreads 除了 Busy Threads 所以即使 Busy Threads 不存在,它需要 CurrentBusyThreads 并执行不期望的其余部分。

任何其他准确过滤出繁忙线程的方法

【问题讨论】:

  • 'BusyThreads' 不会匹配 'Busy Threads' -- 其中一个有空格。
  • 你能清楚地解释你想要达到的目标吗?我从这个问题中得到了一小部分
  • 假设您错误地将空格放在BusyThreads 之间,实际上是BusyThreads,那么实现您想要的另一种便宜的方法是预先删除CurrentBusyThreads使用mystr.replace 方法。如果任何其他类型的 BuysThreads 开始出现,则不起作用,但可以完成工作。
  • @jonatan 那么有什么办法可以匹配空格部分吗?
  • @Alex 包含空格,如果它应该匹配的话。或者使用两个条件(or 运算符可以用来组合它们)

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


【解决方案1】:

使用正则表达式为您要查找的字符串制定规则。

你应该使用 re.search(pattern, string, flags=0)

扫描字符串,寻找正则表达式模式产生匹配的第一个位置,并返回相应的 MatchObject 实例。如果字符串中没有位置与模式匹配,则返回 None;请注意,这与在字符串中的某个点找到零长度匹配不同。

针对您的问题:

pattern = 'Busy\s+Threads'
if re.search(pattern, mystr):
    #do soemhting

文档链接: https://docs.python.org/2/library/re.html

【讨论】:

  • 对不起,我不知道正则表达式你能帮忙吗
  • 你想使用 re.serch。您必须自己阅读有关它的更多信息,如何使用,什么是模式等。使用正则表达式,您可以包含或排除您想在字符串中搜索的任何模式。
  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 编辑了我的帖子。我的答案不仅仅是链接,在链接中他可以找到更多关于它的信息。我也不认为官方 python 文档页面很可能会改变。
  • @YPCrumble 感谢您的评论。
猜你喜欢
  • 1970-01-01
  • 2010-10-18
  • 2013-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
相关资源
最近更新 更多