static String [] split (String repeatable, char regex)
	{
		String [] elements;
		String [] building;
		int built = 0;
		int length;
		//int elementStart = 0;
		int elementEnd = 0;
		char pointed = ' ';
		boolean inWord = false;
		StringBuffer sinput = new StringBuffer ();
		
		length = repeatable.length();
		building = new String [length];  //Creates as many array elements as the string has characters.  Excessive, but avoids recreating the array.
		
		while (elementEnd < length)  //Do not extend beyond end of string.
		{
			pointed = repeatable.charAt(elementEnd);  //Temp variable for each iteration.
			
			if (inWord)
			{
				if (pointed != regex)  //Pointed is part of a word.
				{
					sinput.append(pointed);  //Add pointed to word.
					//ErrorLog.debug("Building " + sinput.toString());
				}
				else
				{
					building[built] = sinput.toString();  //Save sinput in current state.
					//ErrorLog.debug("Found " + building[built]);
					inWord = false;  //Word has ended.
					built++;  //Mark increased number of words found.
					sinput.delete(0, sinput.length());  //Clear sinput for next word.
				}
			}
			else if (repeatable.charAt(elementEnd) != regex)  //This could probably use pointed instead.
			{
				sinput.append(pointed);  //Save start of new word.
				inWord = true;  //Start of new word found.
				//ElementStart = elementEnd;  //This is the start of the element.
				//ErrorLog.debug("Word starts at " + elementStart);
				//ErrorLog.debug("Building " + sinput);
			}
			
			elementEnd++;
		}
		
		if (sinput.length() > 0)
		{
			building[built] = sinput.toString();
			//ErrorLog.debug("Added final word; " + building[built]);
			built++;
		}
		
		elements = new String [built];
		System.arraycopy(building, 0, elements, 0, built);
		
		return elements;
	}