Get block of tokens within a string
<p>I have a stuck at my project and cannot get over this difficulty. I want some help from others to give me a solution for this issue:</p>

<p>I have a string and inside of that string there are some token texts which I want to get them out manually and put them into an array list of string. The final result could have two array list, one of normal texts and the other is of token texts. Below is a sample of string which contains some token surrounded by open tag "[[" and close tag "]]".</p>

<hr>

<p>The first step, where the wort is prepared by mixing the starch source with hot water, is known as [[Textarea]]. Hot water is mixed with crushed malt or malts in a mash tun. The mashing process takes around [[CheckBox]], during which the starches are converted to sugars, and then the sweet wort is drained off the grains. The grains are now washed in a process known as [[Radio]]. This washing allows the brewer to gather [[DropDownList]] the fermentable liquid from the grains as possible.</p>

<hr>

<p>There are two array lists got after manipulating the string:</p>

<p>Result:</p>

<pre><code>Normal Text ArrayList { "The first step, where the wort is prepared by mixing the starch source with hot water, is known as ", ". Hot water is mixed with crushed malt or malts in a mash tun. The mashing process takes around ", ", during which the starches are converted to sugars, and then the sweet wort is drained off the grains. The grains are now washed in a process known as ", ". This washing allows the brewer to gather ", " the fermentable liquid from the grains as possible." }

Token Text ArrayList { "[[Textarea]]", "[[CheckBox]]", "[[Radio]]", "[[DropDownList]]" }
</code></pre>

<p>The two array lists, one is normal text array list has 5 elements which are texts before or after the token, the other is token text array list has 4 elements which are token texts inside of the string.</p>

<p>This works can be done which technique of cut and substring, but it is too hard for a long long text, and will be easily to get error and some time cannot get what I want. If there are some help in this issue, please post in C# because I am using C# to do this task.</p>
