我想通过如下代码
import re
str1='明日科技公司 扎克伯格公司 盖茨公司'
pattern=r'\w+公司'
list1=re.split(pattern,str1) #用汉字和公司或“公司”分割字符串
print('公司有:')
for item in list1:
if item !='': #输出不为空的元素
print(item) #输出每个公司的名称
输出
公司有:
明日科技
扎克伯格
盖茨
却只能输出
公司有:
为什么呢?请求纠错
改成 pattern=r'(\w+)公司 '
import re
str1 = '明日科技公司 扎克伯格公司 盖茨公司'
pattern = '\s'
list1 = re.split(pattern, str1) # 用汉字和公司或“公司”分割字符串
print('公司有:')
for item in list1:
if item != '': # 输出不为空的元素
print(item) # 输出每个公司的名称
修改第4、10行~
import re
str1 = '明日科技公司 扎克伯格公司 盖茨公司'
pattern = r'(\w+)公司'
list1 = re.split(pattern,str1) # 用汉字和公司或“公司”分割字符串
print('公司有:')
print(len(list1))
for item in list1:
if item != ' ': # 输出不为空的元素
print(item) # 输出每个公司的名称
import re
str1 = '明日科技公司 扎克伯格公司 盖茨公司'
data_name=re.split(' ',str1)
print(f'公司有:')
for name in data_name:
print(name.replace('公司',''))
采纳哦
str1 = '明日科技公司 扎克伯格公司 盖茨公司'
data_name=re.findall('(\S+)公司',str1)
print(data_name)
print(f'公司有:')
for name in data_name:
print(name)