Wait for key press when printing text

The text from NPC will print in a UGUI text component, which will

  1. print sentence by sentence with a given string
  2. print word by word in a given sentence

For point 2, I have achieved using IEnumerator,
but I cannot find a way to stop a sentence until player input a key

What I will to do will be:
1.sentence[0] is printing word by word
2a. If player press space bar between, the whole sentence will be printed, and waiting for another press to print the next sentence
2b. If player do no press any key, the sentence will be print word by word, and wait for player to press space bar.
3. repeat until no more sentence

To make the code simple, I used Debug.Log instead.

void Start () {
		string[] testingText=new string[3];
		testingText [0] = "abc fff";
		testingText [1] = "ggg fff";
		testingText [2] = "end text";
		StartCoroutine( printOneString (testingText,0));

private IEnumerator printOneString(string[] sentence,int pointer){
		string currentWord="";
		foreach(char character in sentence[pointer].ToCharArray()){
			yield return new WaitForSeconds (0.2f);
			StartCoroutine( printOneString (sentence,pointer+1));


	yield return null;
		yield return new WaitForSeconds (0.2f);