java中以char来操作字符串根本不会有什么"不尽人意",看不出所说的不尽人意是什么意思.本来substring就不会产生什么关个字符,上面的程序实在看不出来是什么意思:
String s = "中文加English+,.,.,。///、全角和半角...;'-=";
int x = s.length();
for(int i=1;i<=x;i++){
System.out.println(s.substring(0,i));
}
结果:
中
中文
中文加
中文加E
中文加En
中文加Eng
中文加Engl
中文加Engli
中文加Englis
中文加English
中文加English+
中文加English+,
中文加English+,.
中文加English+,.,
中文加English+,.,.
中文加English+,.,.,
中文加English+,.,.,。
中文加English+,.,.,。/
中文加English+,.,.,。//
中文加English+,.,.,。///
中文加English+,.,.,。///、
中文加English+,.,.,。///、全
中文加English+,.,.,。///、全角
中文加English+,.,.,。///、全角和
中文加English+,.,.,。///、全角和半
中文加English+,.,.,。///、全角和半角
中文加English+,.,.,。///、全角和半角.
中文加English+,.,.,。///、全角和半角..
中文加English+,.,.,。///、全角和半角...
中文加English+,.,.,。///、全角和半角...;
中文加English+,.,.,。///、全角和半角...;'
中文加English+,.,.,。///、全角和半角...;'-
中文加English+,.,.,。///、全角和半角...;'-=
事实上无论你如何操作,都可以正确截取,根本不要和字符集联系.