public ReadUntilSequence ( string Sequence ) : string | ||
Sequence | string | |
Résultat | string |
public string ReadUntilSequence(string Sequence)
{
int Position = Text.IndexOf(Sequence, CurrentPos);
int NextPos = 0;
if (Position < 0)
{
NextPos = Text.Length;
}
else
{
NextPos = Position + Sequence.Length;
}
try
{
return Text.Substring(CurrentPos, NextPos - CurrentPos);
}
finally
{
CurrentPos = NextPos;
}
}
public static string RemoveComments(string Input) { var CTokenizer = new CTokenizer(Input, TokenizeSpaces: true); var Tokens = CTokenizer.Tokenize().GetEnumerator(); string Output = ""; while (Tokens.MoveNext()) { switch (Tokens.Current.Raw) { case "//": Output += new String(' ', CTokenizer.SkipUntilSequence("\n") - 1) + "\n"; break; case "/*": Output += ReplaceNonSpaceWithSpaces(CTokenizer.ReadUntilSequence("*/")); break; default: Output += Tokens.Current.Raw; break; } } return Output; }