以前的相关问题只有长度为=1的分隔符。
我想要的是(例如)

str = 'Hello: Alice Hello: Bob Hello: Charlie Hello: David'
arr = str.magic_split('Hello:')

=> arr[0] = 'Hello: Alice '
   arr[1] = 'Hello: Bob '
   arr[2] = 'Hello: Charlie '
   arr[3] = 'Hello: David'

我试过str.scan(/hello:/),但不知道如何破解regex使其工作。
谢谢。
我看到有些答案只适用于这个特殊的情况让我更具体一点。
我要拆分的文件如下所示,分隔符为“certificate:”
Certificate:
    Data: ...
    Signature Algorithm: ...
...
-----BEGIN CERTIFICATE-----
F19ibG6uZyBJbmR1c3RyaWVzIEluYzESMBAGA1UECwwJTWV6emFuaW5lMRMwEQYD\n
2O2RV6HR84N2/A5ZPRF8AQMXJCLIR4qMe/d97/1XK6JQQLUI5NaNroUkW3+tjXo/\n
ovl3vom6xOwUUcFDdv2QoCYBVADX7W2RaVP0JGfiDcekOTwtdos/tmsblboR8oEp\n
fbxD45AowT+khXnPDCQWWpslXJoKMBkaWH7ajb+yKfEYGzRPEmq+v/FPMY9mlJhX\n
epciB5FNO5krO+cyhky5tBZTIv7qCu3kc36dcQXIOTakc7CdoVgwLnytebwTqtpG\n
KuLLH46U8Pp3eeiDDBxYJlz6a2bsbtOaKb1CKMFB3x8LLfLbF4Sh+ScDHetkJDh5\n
...
Certificate:
...
Certificate:
...

基本上,在“证书:”之间会有随机的ASCII字符。
再次感谢。

最佳答案

不确定这是否适用于您的特定情况,但您可以尝试:

splitta = "Hello: "
str.split(splitta).drop(1).map { |s| splitta + s }

又回来了
=> ["Hello: Alice ", "Hello: Bob ", "Hello: Charlie ", "Hello: David"]

关于ruby - Ruby:如何在保持定界符且定界符的长度> 1的同时拆分字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20363296/

10-12 16:24