作者:携手相约幸福 | 来源:互联网 | 2023-10-12 22:22
我有一个字符串,我希望能够从它的中间取出一个子字符串。例如,对于字符串abcdefg我想得到cde(但确切的开始和停止可能是任意的)。我已经找到allButFir
我有一个字符串,我希望能够从它的中间取出一个子字符串。例如,对于字符串 'abcdefg' 我想得到 'cde'(但确切的开始和停止可能是任意的)。我已经找到allButFirst:
并allButLast:
发送消息,因此我可以分两步完成,例如
str := 'abcdefg'
(str allButFirst: 2) allButLast: 2
但我期待有一条消息。我也尝试过使用from:to:
(这对我来说很天真),但这不适用于 string 类。
Pharo 9 Smalltalk 中是否有一条消息可以获取子字符串的开始和停止或开始和长度?
回答
您可以使用
'abcdefg' copyFrom: 3 to: 5
并得到cde
。
这是一个更重要的建议:
您可以转到Main Menu -> Tool -> Finder。然后在 Finder 窗口中从选择器搜索切换到示例。然后在搜索栏中输入
'abcdefg' . 3 . 5 . 'cde'
这些是搜索的“4 个元素”。第一个是接收者,最后一个是预期结果,中间元素将用作参数。因此,如果有任何方法可以满足您的期望,您将在结果中看到。
这是关于搜索的一个非常好的提示,不知道您可以搜索示例!