package Ġorg . bit lap . geo coding . core . segment Ċ Ċ import Ġorg . bit lap . geo coding . core . Segment er Ċ import Ġorg . bit lap . geo coding . utils . take Ċ Ċ /** Ċ Ġ* ĠDesc : Ġ ç®ĢåįķçļĦ åĪĨ è¯į , Ġ çĽ´æİ¥ æĮī åįķ ä¸ª åŃĹç¬¦ åĪĩ åĪĨ ï¼Į è¿ŀ ç»Ń åĩºçİ° çļĦ æķ°åŃĹ ãĢģ èĭ± æĸĩåŃĹ æ¯į ä¼ļ ä½ľä¸º ä¸Ģä¸ª è¯į æĿ¡ Ċ Ġ* ĠMail : Ġchk 1 9 9 4 0 6 0 9 @ gmail . com Ċ Ġ* ĠCreated Ġby ĠI ce M im osa Ċ Ġ* ĠDate : Ġ 2 0 1 7 / 2 / 6 Ċ Ġ*/ Ċ open Ġclass ĠSimple Segment er Ġ: ĠSegment er Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĨ è¯į æĸ¹æ³ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġsegment ( text : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsegment ( text , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ remove ] Ġæĺ¯åĲ¦ åİ» éĻ¤ Ġ éĿŀ ascii åŃĹç¬¦ , Ġ åħ¶å®ŀ åıª ä¿ĿçķĻ èĭ± æĸĩ åĴĮ æķ°åŃĹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġsegment ( text : ĠString , Ġremove : ĠBoolean ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġse gs Ġ= Ġarray ListOf < String >() ĊĠĠĠĠĠĠĠ Ġif Ġ( text . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġse gs ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġdigit Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġansi Char Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġtext . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġtext [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ æĺ¯ æķ°åŃĹ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġin Ġ' 0 ' .. ' 9 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĪª åıĸ åĩº åŃĹ æ¯į ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ansi Char Num Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġse gs . add ( text . take ( i Ġ- Ġansi Char Num , Ġi Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġansi Char Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdigit Num ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ æĺ¯ åŃĹ æ¯į ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġin Ġ' A ' .. ' Z ' Ġ|| Ġc Ġin Ġ' a ' .. ' z ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĪª åıĸ åĩº æķ°åŃĹ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( digit Num Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġse gs . add ( text . take ( i Ġ- Ġdigit Num , Ġi Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdigit Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġansi Char Num ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĿŀ æķ°åŃĹ åŃĹ æ¯į æĹ¶ , Ġ æĪª åıĸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( digit Num Ġ> Ġ 0 Ġ|| Ġansi Char Num Ġ> Ġ 0 ) Ġ{ Ġ// digit Num , Ġansi Char Num ä¸Ń åıª åı¯èĥ½ ä¸Ģä¸ª å¤§äºİ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġse gs . add ( text . take ( i Ġ- Ġdigit Num Ġ- Ġansi Char Num , Ġi Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġansi Char Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdigit Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! remove ) Ġse gs . add ( c . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ æĪª åıĸ åī © ä½Ļ ĊĠĠĠĠĠĠĠ Ġif Ġ( digit Num Ġ> Ġ 0 Ġ|| Ġansi Char Num Ġ> Ġ 0 ) Ġ{ Ġ// digit Num , Ġansi Char Num ä¸Ń åıª åı¯èĥ½ ä¸Ģä¸ª å¤§äºİ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġse gs . add ( text . take ( text . length Ġ- Ġdigit Num Ġ- Ġansi Char Num )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġansi Char Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdigit Num Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġse gs ĊĠĠĠ Ġ} Ċ }