using System;
public class Test
{
public static void Main()
{
string s = " 1.2 3.4 5.6 8.9 ";
int startIdx, endIdx = 0;
while(true)
{
startIdx = endIdx;
// no find_first_not_of in C#
while (startIdx < s.Length && s[startIdx] == ' ') startIdx++;
if (startIdx == s.Length) break;
endIdx = s.IndexOf(' ', startIdx);
if (endIdx == -1) endIdx = s.Length;
// how to extract a double here?
Console.WriteLine("|" + s.Substring(startIdx, endIdx - startIdx) + "|");
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogICAgewogICAgICAgIHN0cmluZyBzID0gIiAgICAgMS4yICAgICAgICAgICAgIDMuNCAgICA1LjYgICAgIDguOSAgICAiOwogICAgICAgIGludCBzdGFydElkeCwgZW5kSWR4ID0gMDsKICAgICAgICB3aGlsZSh0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgc3RhcnRJZHggPSBlbmRJZHg7CiAgICAgICAgICAgIC8vIG5vIGZpbmRfZmlyc3Rfbm90X29mIGluIEMjCiAgICAgICAgICAgIHdoaWxlIChzdGFydElkeCA8IHMuTGVuZ3RoICYmIHNbc3RhcnRJZHhdID09ICcgJykgc3RhcnRJZHgrKzsKICAgICAgICAgICAgaWYgKHN0YXJ0SWR4ID09IHMuTGVuZ3RoKSBicmVhazsKICAgICAgICAgICAgZW5kSWR4ID0gcy5JbmRleE9mKCcgJywgc3RhcnRJZHgpOwogICAgICAgICAgICBpZiAoZW5kSWR4ID09IC0xKSBlbmRJZHggPSBzLkxlbmd0aDsKICAgICAgICAgICAgLy8gaG93IHRvIGV4dHJhY3QgYSBkb3VibGUgaGVyZT8KICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoInwiICsgcy5TdWJzdHJpbmcoc3RhcnRJZHgsIGVuZElkeCAtIHN0YXJ0SWR4KSArICJ8Iik7CiAgICAgICAgfQogICAgfQp9