I don't understand the question quite well, but about finding a part of a string, you have multiple solutions here.
String.Split will separate your string into two, based on the ':' character:
string dataFromTable = "1:green";
string[] dataSplitted = dataFromTable.Split(new char[] { ':' });
// now dataSplitted[0] = "1" and dataSplitted[1] = "green";
You can also use String.IndexOf based on ":" to get the position of the color:
// be sure that you actually have something after your ":", else it will
// throw an OutOfRange exception
string color = dataFromTable.Substring(dataFromTable.IndexOf(":") + 1);
The "cleanest" way to do this to my tastes would be to implement a simple class to handle all of that:
public class TableColor {
int id;
string color;
public static char[] separator = new char[] { ':' };
public TableColor(string data)
{
string[] dataSplitted = data.Split(separator);
id = Convert.ToInt32(dataSplitted[0]);
color = dataSplitted[1];
}
}