$VAR1 = [ ' ', '30th Mar 2020 5:53:18 pm Elvis Presly: BJ: Bloomberg Runs', '30th Mar 2020 5:53:27 pm Elvis Presly: DS: ICE DATA = INC', '101848366130th', ' Mar 2020 6:42:43 pm Boris Putin: Cortese\'s ICE logs is for the Bloomberg Runs issue', '30th Mar 2020 6:43:
3 Réponses :
Vous avez également besoin nd code> pour "secondaire".
$VAR1 = [
' ',
'30th Mar 2020 5:53:18 pm',
'Basant Jain: BJ: Bloomberg Runs',
'30th Mar 2020 5:53:27 pm',
'Basant Jain: DS: ICE DATA = INC1018483661',
# ...
'31st Mar 2020 8:30:36 am',
'Kishan Bholah: WJ: RE: Bulking Booking P&L - INC1018498292',
'31st Mar 2020'
];
Lorsque vous utilisez Split, vous devez spécifier ce qui est entre em> les bits que vous souhaitez conserver. Dans ce cas, le séparateur est la chaîne de 0 longueur suivie d'une date. Pour cela, vous pouvez utiliser les éléments suivants: split /(?=\d+(?:th|st|nd|rd))/, $str
Il n'est pas clair pourquoi Comme alternative substitut em> peut être utilisé pour injecter nouvelle ligne em> avant les dates. p> Split code> est utilisé par OP.
Split code> a été ajouté pour placer des lignes dans une matrice lignes em> pour obtenir le résultat souhaité. p>
J'ai revenu à la version originale - ce qui n'est pas entièrement plainte i> comme pour une raison quelconque de la saisie de données sera 13nd code> ou
16 code> alors ce sera accepté.
Noeudeuse de captures pour rien, il ralentit des choses pour rien. (th | st | nd | rd) code> =>
(?: th | st | nd | rd) code>
En parlant d'éviter les captures, les captures sont tout à fait inutiles ici: s / (? = \ D {1,2} (th | st | nd | rd) \ w {3} \ d \ n / g code> pas sûr si cela est plus rapide
@IKEGAMI - Il devrait s'agir d'un énorme fichier pour détecter même lenteur i> dans le traitement. Mais comme Conseil B> C'est un bon conseil.
Pour moi, il est plus important pour la lisibilité du code; Si je lis le code qui capture, je devrais pouvoir s'attendre à bien utiliser les valeurs capturées
@ysth, je suis tout à fait d'accord