package Ġcom . ly ee ed ar . Util Ċ Ċ fun ĠString . directory (): ĠString Ċ { Ċ ĉ val Ġsplit Ġ= Ġthis . split ('/') Ċ ĉ return Ġsplit . sub List ( 0 , Ġsplit . size - 1 ). join ToString ("/") Ċ } Ċ Ċ fun ĠString . filename ( extension : ĠBoolean ): ĠString Ċ { Ċ ĉ val Ġsplit Ġ= Ġthis . split ('/') Ċ ĉ if Ġ( extension ) Ċ ĉ { Ċĉ ĉ return Ġsplit . last () Ċ ĉ } Ċ ĉ else Ċ ĉ { Ċĉ ĉ val Ġsplit 2 Ġ= Ġsplit . last (). split ('.') Ċĉ ĉ return Ġsplit 2 . first () Ċ ĉ } Ċ } Ċ Ċ fun ĠString . plural ize ( count : ĠInt ): ĠString Ċ { Ċ ĉ if Ġ( count Ġ> Ġ 1 ) Ċ ĉ { Ċĉ ĉ if Ġ( this . endsWith (' y ')) Ċĉ ĉ { Ċĉĉ ĉ return Ġthis . substring ( 0 , Ġthis . length Ġ- Ġ 1 ) Ġ+ Ġ" ies " Ċĉ ĉ } ĊĊĉ ĉ return Ġthis Ġ+ Ġ" s " Ċ ĉ } ĊĊ ĉ return Ġthis Ċ } Ċ Ċ fun ĠString . add Spaces (): ĠString Ċ { Ċ ĉ val Ġbuild Ġ= ĠStringBuilder () Ċ ĉ for Ġ( char Ġin Ġthis ) Ċ ĉ { Ċĉ ĉ if Ġ( build . isEmpty ()) Ċĉ ĉ { Ċĉĉ ĉ build . append ( char ) Ċĉ ĉ } Ċĉ ĉ else Ġif Ġ( char . is Letter () Ġ&& Ġchar . is UpperCase ()) Ċĉ ĉ { Ċĉĉ ĉ build . append (' Ġ') Ċĉĉ ĉ build . append ( char ) Ċĉ ĉ } Ċĉ ĉ else Ċĉ ĉ { Ċĉĉ ĉ build . append ( char ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ return Ġbuild . toString () Ċ }