I'll take the easy way out and let strtok() do the work:
void someFunction(byte *);
void setup() {
const char dog[] = "A0:433.33";
Serial.begin(115200);
delay(2000);
someFunction((byte *)dog);
}
void loop() {
}
void someFunction(byte *payload) {
char *ptr, tempBuffer[25];
strcpy(tempBuffer, (const char *)payload); // strtok changes the string, so make a local copy
ptr = strtok(tempBuffer, ":");
Serial.print("First Token = ");Serial.println(ptr);
ptr = strtok(NULL, ":");
Serial.print("Second Token = ");Serial.println(ptr);
}