Public Sub Thaiwordbreak(InputStr As String) As String
#If B4A or B4J
'Test Using B4XPages,or not
Try
'Using CrossPlatform
'Add equal to Me Because using B4XPages
Dim twb As JavaObject=Me
'delete this under line Because using B4XPages
' twb.initializeContext
Dim mystring As String = InputStr
mystring = twb.runMethod("ThaiWordBreakJava", Array(mystring))
Catch
'Using non-CrossPlatform
Dim twb As JavaObject
twb.initializeContext
Dim mystring As String = InputStr
mystring = twb.runMethod("ThaiWordBreakJava", Array(mystring))
End Try
mystring=mystring.Trim
'Log(mystring)
Return mystring.SubString2(0,mystring.Length-1) 'ลบ ขีด(-) ท้ายคำที่ตัด
#Else
'B4i
'Test Using B4XPages,or not
Try
'Using CrossPlatform
'Add equal to Me Because using B4XPages
Dim twb As NativeObject=Me
Dim mystring As String=InputStr
mystring=twb.RunMethod("ThaiWordBreakObjC:::", Array(mystring)).AsString
Catch
'Using non-CrossPlatform
Dim twb As NativeObject
twb.initializeContext
Dim mystring As String=InputStr
mystring=twb.RunMethod("ThaiWordBreakObjC:", Array(mystring)).AsString
End Try
mystring=mystring.Trim
'Log(mystring)
Return mystring.SubString2(0,mystring.Length-1) 'ลบ ขีด(-) ท้ายคำที่ตัด
#End If
End Sub
#if java
// @author Nont Banditwong
// TODO To change the template for this generated type comment go to
// Window - Preferences - Java - Code Style - Code Templates
import java.text.BreakIterator;
import java.util.Locale;
//import com.ibm.icu.text.BreakIterator;
//import com.ibm.icu.text.DictionaryBasedBreakIterator;
public String ThaiWordBreakJava(String source) {
Locale thaiLocale = new Locale("th");
BreakIterator boundary = BreakIterator.getWordInstance(thaiLocale);
boundary.setText(source);
StringBuffer strout = new StringBuffer();
int start = boundary.first();
for (int end = boundary.next(); end != BreakIterator.DONE; start = end, end = boundary.next()) {
strout.append(source.substring(start, end) + "-");
//strout.append(source.substring(start, end) + "\r\n");
}
return strout.toString();
}
#End If
#if ObjC 'objective-c
#import <Foundation/Foundation.h>
- (NSString *)ThaiwordbreakObjC:(NSString *)source {
NSLocale *thaiLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"th"];
NSMutableString *strout = [[NSMutableString alloc] init];
// Create a word boundary iterator
NSCharacterSet *whitespaceAndNewline = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSArray *words = [source componentsSeparatedByCharactersInSet:whitespaceAndNewline];
for (NSString *word in words) {
if (word.length > 0) {
[strout appendString:word];
[strout appendString:@"-"];
}
}
return strout;
}
#End If