【Java】編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。
【Java】編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。
public class KartString {
public static String bSubstring(String s, int length) throws Exception {
byte[] bytes = s.getBytes("Unicode");
int n = 0;
int i = 2;
for (; i < bytes.length && n < length; i++) {
if (i % 2 == 1) {
} else {
if (bytes[i] != 0) {
n++;
}
}}
if (i % 2 == 1)
{
if (bytes[i - 1] != 0)
i = i - 1;
else
i = i + 1;
}
return new String(bytes, 0, i, "Unicode");}
public static void main(String[] args) throws Exception {
String str = "我AFSD是KJHJKSD人呢SKJS";
KartString ks = new KartString();
String la = ks.bSubstring(str, 10);
System.out.println(la);
}
}
相關文章
- 字串abcde我要輸出字串de?字串
- 用智慧ABC輸入不認識的漢字
- 編寫一個統計字串中每個連續字元個數的函式,如 `aaabbcccaabcd` 輸出為`3a2b3c2a1b1c1d`字串字元函式
- 寫一個函式,輸入一個4位數字,要求輸出這4個數字字元函式字元
- JAVA——一個漢字佔用多少位元組?Java
- java判斷輸入的字串是否為數字Java字串
- 【程式設計師面試金典】 寫出一個程式,接受一個十六進位制的數值字串,輸出該數值的十進位制字串。(多組同時輸入 )程式設計師面試字串
- ***PHP各種編碼的漢字字串擷取PHP字串
- 編寫一個程式求輸入字串的長度字串
- 利用可變長度引數定義一個函式,輸入為任意個數的數值,功能為對輸入資料求和並輸出;函式
- 獲得字串實際長度,漢字佔用2個位元組。字串
- 驗證輸入的字串是否為合法日期字串
- 利用棧和隊來判斷輸入的一個字串是否為迴文字串
- 擷取字串以多行的形式輸出字串
- 輸入一個3,輸出March,輸入一個數字月份,然後對應輸出相應的英文表示,用指標陣列完成指標陣列
- 輸入一個ASCII碼,輸出對應的字元ASCII字元
- C語言輸入一個數輸出對應的值C語言
- Java中的 String.join() 將列表以某個字串分隔組裝為一個字串 (之前我都不知道,自己寫方法)Java字串
- 如何擷取指定長度字串區分漢字和字元字串字元
- ncurses輸出函式:字元+字串的輸出函式字元字串
- IO流的位元組輸入輸出流(InputStream,OutputStream)
- ncurses輸入函式:字元+字串的輸入函式字元字串
- OJ刷題之《輸入三個字串,按由小到大的順序輸出》字串
- C#中如何按位元組數擷取字串?C#字串
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- JavaScript 漢字方式輸出星期JavaScript
- 檔案輸入輸出處理(二)-位元組流
- 用指標編寫程式將輸入的字串倒序輸出指標字串
- 新增speak成員方法,輸出我是一個好人
- 高速輸出-我們戲說快取快取
- 統計字串中數字個數,並將數字字串形式輸出字串
- Java&Android 基礎知識梳理(6) 位元組輸入輸出流JavaAndroid
- var_export-輸出或返回一個變數的字串表示Export變數字串
- MySQL 字串函式:字串擷取MySql字串函式
- php輸出帶變數字串(echo函式的應用)PHP變數字串函式
- 我為我是個程式設計師而驕傲程式設計師
- 限制HTML的input只能輸入數字、英文、漢字...HTML
- javascript替換字串中的某個漢字JavaScript字串