在R中提取分号分隔字符串内的巴西机构信息
提取机构信息中的巴西本土机构
需求:从一段包含多个研究者机构的字符串中,仅保留位于巴西(Brazil)的机构信息。
示例输入
"Department of Neurology, Faculty of Medicine, University of São Paulo, São Paulo, Brazil; Gerontology, School of Arts, Sciences, and Humanities, University of São Paulo, São Paulo, Brazil; Graduate Program in Applied Statistics, University Center of United Metropolitan Colleges, São Paulo, Brazil; School of Health Sciences, Faculty of Medicine and Health Sciences, University of East Anglia, Norwich, United Kingdom; Human Cognitive Neuroscience, Psychology, University of Edinburgh, Edinburgh, United Kingdom; Neurology Division, University Hospital, Federal University of Minas Gerais, Belo Horizonte, Brazil; Neuroimaging Laboratory, School of Medical Sciences, University of Campinas (UNICAMP), Campinas, Brazil; Neurology Department, University of Campinas, Campinas, Brazil"
期望输出
"Department of Neurology, Faculty of Medicine, University of São Paulo, São Paulo, Brazil; Gerontology, School of Arts, Sciences, and Humanities, University of São Paulo, São Paulo, Brazil; Graduate Program in Applied Statistics, University Center of United Metropolitan Colleges, São Paulo, Brazil; Neurology Division, University Hospital, Federal University of Minas Gerais, Belo Horizonte, Brazil; Neuroimaging Laboratory, School of Medical Sciences, University of Campinas (UNICAMP), Campinas, Brazil; Neurology Department, University of Campinas, Campinas, Brazil"
实现方法(以Python为例)
通过字符串分割、筛选、拼接三步即可完成:
- 先移除原始字符串首尾的引号,再按
;分割成单个机构条目 - 筛选出结尾包含
, Brazil的条目(避免误匹配名称中带有Brazil字样的非巴西机构) - 将筛选后的条目用
;重新拼接,最后添加首尾引号还原格式
代码示例:
# 原始机构字符串 original_str = "\"Department of Neurology, Faculty of Medicine, University of São Paulo, São Paulo, Brazil; Gerontology, School of Arts, Sciences, and Humanities, University of São Paulo, São Paulo, Brazil; Graduate Program in Applied Statistics, University Center of United Metropolitan Colleges, São Paulo, Brazil; School of Health Sciences, Faculty of Medicine and Health Sciences, University of East Anglia, Norwich, United Kingdom; Human Cognitive Neuroscience, Psychology, University of Edinburgh, Edinburgh, United Kingdom; Neurology Division, University Hospital, Federal University of Minas Gerais, Belo Horizonte, Brazil; Neuroimaging Laboratory, School of Medical Sciences, University of Campinas (UNICAMP), Campinas, Brazil; Neurology Department, University of Campinas, Campinas, Brazil\"" # 处理并筛选 institutions = original_str.strip('"').split('; ') brazil_institutions = [inst for inst in institutions if inst.endswith(', Brazil')] result = '"' + '; '.join(brazil_institutions) + '"' # 输出结果 print(result)
运行上述代码即可得到符合要求的结果。
内容的提问来源于stack exchange,提问作者always.learning
相关产品推荐
相关产品推荐

