Saving Serial.read() as a string, and splitting the string

zoomkat:
A simple example of capturing a string sent from the serial monitor and seperating the string into two parts.

// zoomkat 12-13-11 serial servo (2) test

// for writeMicroseconds, use a value like 1500
// for IDE 1.0
// Powering a servo from the arduino usually DOES NOT WORK.
// two servo setup with two servo commands
// send eight character string like 15001500 or 14501550
// use serial monitor to test

#include <Servo.h>
String readString, servo1, servo2;
Servo myservo1;  // create servo object to control a servo
Servo myservo2;

void setup() {
  Serial.begin(9600);
  myservo1.attach(6);  //the pin for the servo control
  myservo2.attach(7);
  Serial.println("two-servo-test-1.0"); // so I can keep track of what is loaded
}

void loop() {

while (Serial.available()) {
    delay(3);  //delay to allow buffer to fill
    if (Serial.available() >0) {
      char c = Serial.read();  //gets one byte from serial buffer
      readString += c; //makes the string readString
    }
  }

if (readString.length() >0) {
      Serial.println(readString); //see what was received
     
      // expect a string like 07002100 containing the two servo positions     
      servo1 = readString.substring(0, 4); //get the first four characters
      servo2 = readString.substring(4, 8); //get the next four characters
     
      Serial.println(servo1);  //print to serial monitor to see parsed results
      Serial.println(servo2);

int n1 = servo1.toInt();
      int n2 = servo2.toInt();

Serial.println("the numbers are :");
      Serial.println(n1);  //print to serial monitor to see number results
      Serial.println(n2);
           
      myservo1.writeMicroseconds(n1); //set servo position
      myservo2.writeMicroseconds(n2);
    readString="";
  }
}

Okay, two issues with that.
For one, when I do that, the first character of the 'string' starts out with a strange number/symbol/thing. I will try your example, and will post pic if it does it again with that example.
Second, I want it to split conditionally, and wherever I want it to split (for example, I want to send "Hi. My name's | Billy Bob" and "My friend is | Jilly Joe", and the code will separate both strings into four arrays: "Hi. My name's " and " Billy Bob", and as for the other string "My friend is " and " Jilly Joe". Do you know what I mean? I don't know EXACTLY where to split the string, so I want the code to do that for me.