Matsuhashi, thank you very very much, my problem is solved :")
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <user@struts.apache.org>
Sent: Tuesday, June 21, 2005 7:02 PM
Subject: Re: [HELP] I couldn't trim() 1 japanese String (charset UTF-8)
Do you want to remove leading/trailing double-bytes-whitespace chars?
I mean the double-bytes-whitespace to be a UNICODE char of \u3000.
The java.lang.String#trim() does not see the \u3000 as a whitespace which
it should chop off.
To remove the \u3000 char, I think you would need fair amount of custom
code. Following dirty code may suggest you something.
---------------------------------------------------------------
class DoubleBytesWhitespaceTrimmer {
static char doubleBytesWhitespace = '\u3000' ;
public static String trim(String s) {
String leadingTrimmed = trimLeadingChar(s , doubleBytesWhitespace);
String rev = reverse(leadingTrimmed);
return reverse(trimLeadingChar(rev , doubleBytesWhitespace));
}
private static String trimLeadingChar(String s , char c) {
char[] chars = s.toCharArray();
StringBuffer b = new StringBuffer();
int index;
for (index = 0; index < chars.length; index++) {
if (chars[index] == c)
;
else
break;
}
for ( ;index < chars.length; index++) {
b.append(chars[index]);
}
return b.toString();
}
private static String reverse(String s) {
char[] chars = s.toCharArray();
StringBuffer b = new StringBuffer();
for (int x = chars.length - 1; x >= 0 ; x--) {
b.append(chars[x]);
}
return b.toString();
}
public static void main(String[] args) {
StringBuffer b = new StringBuffer();
b.append(doubleBytesWhitespace);
b.append("foo");
b.append(doubleBytesWhitespace);
System.out.println("source : [" + b.toString() + "]");
String trimmed= DoubleBytesWhitespaceTrimmer.trim(b.toString());
System.out.println("trimed : [" + trimmed + "]");
System.out.println("\"foo\".equals(\"" + trimmed + "\") ? " +
"foo".equals(trimmed));
}
}
-----------------------------------------------
This gives following output for me.
-----------------------------------------------
source : [ foo ]
trimed : [foo]
"foo".equals("foo") ? true
"Pham Anh Tuan"
<[EMAIL PROTECTED] 宛先: "Struts Users
Mailing List" <user@struts.apache.org>
rp.jp> cc:
件名: [HELP] I couldn't
trim() 1 japanese String (charset UTF-8)
2005/06/21 20:03
"Struts Users
Mailing List" へ
返信してください
Hi all,
I got 1 problem when I trying to eliminate spaces at ride side and left
side of 1 japanese String.
In mySQL I set UTF-8 for both database and my Jsp pages. But in Action, I
can't not trim() japanese string, so, when I insert that string to
database, spaces are exist.
Plz help me solve this problem! :(
Thanks for ur reading.
Pham
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]