Produce an array of strings from a single string
Validate is a misleading name for what the function does. It does not validate anything - rather it checks if the given character is one of a special set. So it should be named IsSpecial or IsTokenDelimiter.
Growing an array one entry at a time is quite a bit of overhead. There are some ways of mitigating this.
Consider creating a local variable like currentCharacter in which Chain[i] - this would make it a little bit easier to read.