擅长:python、mysql、java
<p>我的建议是:</p>
<pre><code>def environmentcode(s):
if "-" not in s: #(**)
return None #(**)
h,t=s.split("-")
code=h.strip()[5:]
return ENVIRONMENTCODE.get(code,9)
data="AABBBICS-CCCDDD001 AABBBIGW-CCCDDD001 AABBBRTL-CCCDDD001 AABBBTDZ-CCCDDD001 USNYCRTL-LANDCE001 AABBB-CCCDDD001 something"
for s in data.split():
print(s," >",environmentcode(s))
Output:
AABBBICS-CCCDDD001 > 1
AABBBIGW-CCCDDD001 > 2
AABBBRTL-CCCDDD001 > 3
AABBBTDZ-CCCDDD001 > 4
USNYCRTL-LANDCE001 > 3
AABBB-CCCDDD001 > 9
something > None
# -
# Filtering text with regex. In this case, (**) not needed.
text="""AABBBICS-CCCDDD001 Alice was beginning to get very tired of sitting by her sister on the bank... AABBBIGW-CCCDDD001 AABBBRTL-CCCDDD001 AABBBTDZ-CCCDDD001 USNYCRTL-LANDCE001 AABBB-CCCDDD001 AABBBXYZ-CCCDDD001 something"""
import re
data= re.findall(r"\b[A-Z]{5,8}-[A-Z]{6}001\b",text)
for s in data:
print(s," >",environmentcode(s))
</code></pre>