Comment découper une chaîne de caractères de la coquille

J'ai une variable comme

string="ABC400p2q4".

comment puis-je séparer ABC400 et p2q4.
J'ai besoin de le séparer en deux variables de telle manière qu'en conséquence je obtenir

echo $var1
ABC400
echo $var2
p2q4

En place de l'ABC, il peut être n'importe quel caractères alphabétiques; au lieu de 400 il ne peut y avoir d'autres chiffres; mais p et q sont fixes et à la place de 2 et 4 ainsi, il peut être n'importe quel chiffre.

Ce shell? Il y a au moins une douzaine.
Quelles sont les autres valeurs; quels sont les critères pour le partage de l'? Est-ce que les 6 premiers caractères et les 4 derniers caractères (mais qu'advient-il si la longueur n'est pas 10)? Est-il ABC plus 3 chiffres vs fuite? Est-il 3 majuscules lettres, 3 chiffres, et le second matériau? Est-ce split avant le premier "p"? Pour votre tâche: var1=ABC400; var2=p2q4 fait le travail, pas muss, pas de chichi.
trop peu d'informations. est-il un motif/l'état de votre chaîne?
En place de l'ABC, il peut être tout albhabet, à la place de 400 il ne peut y avoir d'autres chiffres bt p et q sont fixes et à la place de 2 et 3 ainsi, il peut être n'importe quel chiffre.

OriginalL'auteur P_Jain | 2013-03-14