【发布时间】:2018-10-06 12:57:53
【问题描述】:
我的计划:
- 获取
Send to:和该行末尾之后的所有内容。 - 获取
Attn:和该行末尾之间的所有内容。
注意:Attn 行可以是可选的。在这种情况下,只需返回第一行。
字符串如下所示:
str = <<-MSG
Registry of Credit Recommendations
American Council on Education
One Dupont Circle, NW
Washington, D.C. 20036
Transcript Print Date: 10/03/2018
Sent By:Send To: American University
4400 Massachusetts Avenue, NW
Washington, DC 20016-8001
Attn: Undergraduate Admissions
Jonathan A Jones
30 People's Court
Second Address Line
Third Address Line
Augusta, GA 30909
MSG
预期的返回值必须是:
American University
Attn: Undergraduate Admissions
**注意必须包含“Attn:”部分,而不仅仅是它的内容。 **
这是我的方法,仅适用于 Attn 部分,但我不知道如何获得“美国大学”部分。
regex = /Attn:([^\r\n]+)[\r\n]+/
测试:http://rubular.com/r/Px4ru6WrAg
感谢您的帮助。
【问题讨论】:
-
@SebastianPalma 当我运行您的解决方案 str.scan(regex) 它输出 ["American University", "Undergraduate Admissions"] 我只期待一个子字符串:["American University/n Attn : Undergraduate Admissions"] 还要注意 "Attn:" 部分包括在内。