public function testGetNextNonWhitespace() { $this->assertSame(false, StringUtil::getNextNonWhitespace(' ')); $this->assertEquals(0, StringUtil::getNextNonWhitespace('Saya belajar segmentasi kalimat.')); $this->assertEquals(5, StringUtil::getNextNonWhitespace('Saya belajar segmentasi kalimat.', 4)); // exclusive current position $this->assertSame(3, StringUtil::getNextNonWhitespace(' S aya', 1)); }
private function getLeftoverSpan($text, array $positions) { if ($positions[count($positions) - 1] != strlen($text) - 1) { $start = StringUtil::getNextNonWhitespace($text, $positions[count($positions) - 1]); $end = StringUtil::getPrevNonWhitespace($text); if ($start !== false && $end - $start > 0) { return new Span($start, $end + 1); } } }