个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268 个人微信公众号(点击查看扫描关注) -- https://blog.51cto.com/11495268/2401194
1、简介
字符串 相关操作 较多,本文 只简单描述下 python 字符串 查找 相关的基础操作
2、字符串 查找 内置函数
3、实例
获取 指定 公司 的相关信息(公司信息 格式 都一致)
3.1 字符串 格式
## 公司名:排名:薪资-所占比例
HUAWEI:0:20K-30.8% ZTE:1:15K-50.6% SUNING:3:13K:39.9%
3.2 伪代码(思路)
查找 公司名 所在位置
从 公司名位置开始 查找 第一个 冒号 所在位置
从第一个 冒号 所在位置开始 查找 第二个 冒号 所在位置
从第二个 冒号 所在位置开始 查找 第一个 -号 所在位置
从第一个 -号 所在位置开始 查找 最近一个 空格 所在位置
若 没有 找到 最近一个 空格位置,那么 字符串长度 代表 索要获取的位置(字符串结尾)
3.3 代码
#! /usr/bin/env python2.7
#-*- coding: utf-8-*.
str = 'SUNING'
string = 'HUAWEI:0:20K-30.8% ZTE:1:15K-50.6% SUNING:3:13K-39.9%'
index_company = string.find(str, 0, len(string))
index_first = string.find(':', index_company, len(string))
index_sec = string.find(':', index_first + 1, len(string))
index_line = string.find('-', index_sec + 1, len(string))
index_null = string.find(' ', index_line + 1, len(string))
if index_null == -1 :
index_null = len(string)
# print 'index_company:%d,index_first:%d,index_sec:%d,index_line:%d,index_null:%d\n' % (index_company,index_first,index_sec,index_line,index_null)
print '公司名:%s\t\n' % (string[(index_company):(index_first)])
print '公司排名:%s\t\n' % (string[(index_first + 1):(index_sec)])
print '公司平均薪资:%s\t\n' % (string[(index_sec + 1):(index_line)])
print '公司平均薪资所占百分比:%s\t\n' % (string[(index_line + 1):index_null])
3.4 执行结果
# python str_find_wl.py
index_company:35,index_first:41,index_sec:43,index_line:47,index_null:53
公司名:SUNING
公司排名:3
公司平均薪资:13K
公司平均薪资所占百分比:39.9%