好的,这是我认为已经得到充分回答的第一个问题的后续。无论如何,在我项目的这一部分,我有一个字符串数组。这些字符串的独特之处在于没有明显的模式。我在一个大数组的单个字符串元素中有一个作者列表。有些元素有两个作者,有些元素有更多。这是一个例子:
Artem Chebotko 和 Shiyong Lu
Artem Chebotko、Shiyong Lu、Farshad Fotouhi 和 Anthony Aristar
Craig Franke、Samuel Morin、Artem Chebotko、John Abraham 和 Pearl Brazier
Wang Liqiang Wang、Shiyong Lu、Xubo Fei、Artem Chebotko、H. Victoria Bryant 和Jeffrey L. Ram
Daniel Rebollar、Peter J. Vasquez Sr. 和 Artem Chebotko
因此,虽然很高兴摆脱所有使我的初始字符串混乱的 HTML 爵士乐,但我想 1)将每个作者放入自己的数组中的字符串中,以及 2)制作它以便我可以对作者按姓氏。我想知道的是,由于数组没有模式,因此更适合此任务,substr 还是 split?以下是关于我的阵列的一些注意事项:
- 每行都有一个作者姓名,名字和姓氏,有时还有中间名首字母或 Sr./Jr。
- 如果该行只有两个作者,则用空格和“and”一词分隔。(参见上面的示例)
- 如果该行有两个以上,则每个元素用逗号分隔,最后一个元素前面有单词“and”。
- 如果该行只有一位作者,则不需要标点符号或“和”一词。
我想指出,我对 Perl 还是很陌生,但我来自 C++,所以我对计算机逻辑有所了解。话虽如此,我想我知道两者是如何工作的,但我只是想得到一个更熟悉的人的意见,即其中一个是否会比另一个更好。我知道计算机代码适用于这实际上没有的模式。