java substring中文

相關問題 & 資訊整理

java substring中文

在Java 中遇到中文字, 若用length() 取資料長度, 中文字會當作1 碼, 而用substring 擷取子字串, 中文字也會當作1 碼, 要如何正確取得中文字的長度與擷取子字串, 參考以下範例: 程式碼. public class aaa public static void main( String args[] ) String vData = "歡迎光臨, Hello World"; // 資料 byte[] vResult = new byte[100]; ,我的問題在於想要擷取中文字前半部還有後半部分的內碼例如我在使用PHP的時候字串是由兩個byte組成我可以透過PHP的substr擷取前後兩個byte 如今使用JAVA,我要怎麼做才能達到同樣的目的? 我的目的在於把PHP寫的繁簡轉換成式用JAVA改寫 ... ,原發問者的問題應該是很單純的, 他的字串裡面應該只有英文和繁體中文兩種, 而不會有日文, 韓文或是德文, 法文等等的, 否則問題就太複雜了. 在這單純的條件下, 而且假設他所謂的英文字是指英文字母, 那麼他並不需要知道如何去判斷中文, 只要去比對26 個字母即可. 算出有多少英文字之後, 剩下的就是中文字了. ,java String 中文字符串截取. 2013年12月11日08:56:03. 阅读数:2761. /** * @param len * 需要显示的长度(<font color="red">注意:长度是以byte为单位的,一个汉字是2个byte</font>) * @param symbol * 用于表示省略的信息的字符,如“...”,“>>>”等。 * @return 返回处理后的字符串 */ public static String g, String在使用上十分普遍,大部份的資料型能都可以變成String存放。String本身是字串是使用utf8格式存放的,所以在計算字元時,一個中文字跟一個英文字都是算1,這點是跟其它程式語言不太一樣的。 String的宣告及初始化" "雙引號內資料則為String資料型能字串的連結合併字串的連結合併是利用+ 來使二個字串 ..., 使用length()取string長度,會遇到中文字長度只有回傳1,所以如果是要算真正的長度,則需要將字串轉為byte陣列,但在做substring時,可能會截到中文字,故可先作byte是否為中文的判斷後,再做位置 ... 主要是利用isChineseCharacter類別中所寫中文內碼範圍判斷,範例如下: ... 標籤: byte, Java, length, substring ..., 一种做法是根据字节数判断是否为中文,因为英文字符占用一个字节,而汉字占用两个字节,示例如下: public static boolean isChineseChar(char c) throws UnsupportedEncodingException // 如果字节数大于1,是汉字 return String.valueOf(c).getBytes("UTF-8").length > 1; }. 本回答由电脑网络分类达人高德宝推荐., 为什么一个中文汉字可以保存在一个char变量里呢?因为在JAVA中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节的,因此它也能保存到一个byte里,一个中文汉字却不能。请看:. Java代码 复制代码. public class ChineseTest ; public static void main(String[] args) ...,调用String的substring函数截取中文字符时,它把一个汉字当作一个字符来截取了,如下例: public class TestSubString .... java中的String是unicode类型的的 汉字占用一个字节 和c中的char[]是不一样的可以考虑byte[]类型进行处理 不过代码操作就不如String方便 但是效率是一样的 .NET 截取中英文混合的字符串。

相關軟體 Atom 資訊

Atom
Atom 是一個文本編輯器,它是現代的,平易近人的,但可核心的工具 - 您可以自定義的任何工具,但也可以高效地使用,而無需觸摸配置文件。您可以從數千個為 Atom 添加新功能和新功能的開源軟件包中進行選擇,也可以從頭開始構建一個軟件包並發布給其他人使用。 Atom 預裝了四個用戶界面和八個語法主題,在黑暗和光明的顏色。 Atom 免費下載 Windows PC 的最新版本。 Atom. 選擇版本:... Atom 軟體介紹

java substring中文 相關參考資料
昭佑.天翔: Java 如何正確地取得中文字的長度與擷取字元

在Java 中遇到中文字, 若用length() 取資料長度, 中文字會當作1 碼, 而用substring 擷取子字串, 中文字也會當作1 碼, 要如何正確取得中文字的長度與擷取子字串, 參考以下範例: 程式碼. public class aaa public static void main( String args[] ) String vData = &quot;歡迎光臨, Hello...

https://tomkuo139.blogspot.com

JWorld@TW Java論壇- Re:有關substring擷取字串的問題

我的問題在於想要擷取中文字前半部還有後半部分的內碼例如我在使用PHP的時候字串是由兩個byte組成我可以透過PHP的substr擷取前後兩個byte 如今使用JAVA,我要怎麼做才能達到同樣的目的? 我的目的在於把PHP寫的繁簡轉換成式用JAVA改寫&nbsp;...

https://www.javaworld.com.tw

JWorld@TW Java論壇- 怎樣計算一個String 有多少中文字and 英文字

原發問者的問題應該是很單純的, 他的字串裡面應該只有英文和繁體中文兩種, 而不會有日文, 韓文或是德文, 法文等等的, 否則問題就太複雜了. 在這單純的條件下, 而且假設他所謂的英文字是指英文字母, 那麼他並不需要知道如何去判斷中文, 只要去比對26 個字母即可. 算出有多少英文字之後, 剩下的就是中文字了.

https://www.javaworld.com.tw

java String 中文字符串截取- CSDN博客

java String 中文字符串截取. 2013年12月11日08:56:03. 阅读数:2761. /** * @param len * 需要显示的长度(&lt;font color=&quot;red&quot;&gt;注意:长度是以byte为单位的,一个汉字是2个byte&lt;/font&gt;) * @param symbol * 用于表示省略的信息的字符,如“...”,“&gt;&g...

https://blog.csdn.net

[Java]字串String | 聰明的生活

String在使用上十分普遍,大部份的資料型能都可以變成String存放。String本身是字串是使用utf8格式存放的,所以在計算字元時,一個中文字跟一個英文字都是算1,這點是跟其它程式語言不太一樣的。 String的宣告及初始化&quot; &quot;雙引號內資料則為String資料型能字串的連結合併字串的連結合併是利用+ 來使二個字串&nbsp;...

https://blog.yslifes.com

工作筆記: 字串處理,如何得知在substring時,是否拆到中文字?

使用length()取string長度,會遇到中文字長度只有回傳1,所以如果是要算真正的長度,則需要將字串轉為byte陣列,但在做substring時,可能會截到中文字,故可先作byte是否為中文的判斷後,再做位置 ... 主要是利用isChineseCharacter類別中所寫中文內碼範圍判斷,範例如下: ... 標籤: byte, Java, length, substring&nbsp;....

http://noteofisabella.blogspot

求截取带中文的字符串的java方法。_百度知道

一种做法是根据字节数判断是否为中文,因为英文字符占用一个字节,而汉字占用两个字节,示例如下: public static boolean isChineseChar(char c) throws UnsupportedEncodingException // 如果字节数大于1,是汉字 return String.valueOf(c).getBytes(&quot;UTF-8&quot;).le...

http://zhidao.baidu.com

JAVA面试题解惑系列(六)——字符串(String)杂谈-臧圩人·海纳百川 ...

为什么一个中文汉字可以保存在一个char变量里呢?因为在JAVA中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节的,因此它也能保存到一个byte里,一个中文汉字却不能。请看:. Java代码 复制代码. public class ChineseTest ; public static void main(String[] args)&nbsp...

http://blog.51cto.com

substring截取中文字符的问题-CSDN论坛

调用String的substring函数截取中文字符时,它把一个汉字当作一个字符来截取了,如下例: public class TestSubString .... java中的String是unicode类型的的 汉字占用一个字节 和c中的char[]是不一样的可以考虑byte[]类型进行处理 不过代码操作就不如String方便 但是效率是一样的 .NET 截取中英文混合的字符串。

https://bbs.csdn.net