正則解決字串超出長度的問題

2021-09-01 19:34:40 字數 546 閱讀 6887

有時候我們會遇到這樣的情況,顯示的空間不足以顯示所有的字串。

這有時候我們一般的解決方式是擷取字串的前一段,後面的用..來代替。

但是這樣同時也會出現一種問題,那就是中文和英文的占用長度是不一樣的。所以單純的用str.substring(0,n);是不合適的。

這裡用正則稍微轉化一下,我們判斷如果是中文(包括繁體)的話長度就+2,其他的符號的就加1,這樣看來其就會合適許多。

如果輸入的是:劉類類類類類

則會返回:劉類類..

如果輸入的是:劉類

則會返回:劉類

至於長度的設定只需要修改maxnum的值就可以了。

public class test12 

public static string returnname(string str)else

}return builder.tostring();}}

C 字串長度問題

題目 在寫程式中遇到字串的長度問題,總結一下出錯的地方。string s1 123456 char s2 123456 char s3 123456 cout 列印結果為 6 這表示string字串包含字元的長度 32 表示string型變數占用32個位元組 4 表示char指標佔4個位元組 7 定...

字串長度

當字元全是英文本元的時候,兩者是一樣。這裡主要比較一下,中英文混排的時候,兩個計算結果。測試時編碼方式是utf8 複製 如下 str 中文a字1符 echo strlen str echo echo mb strlen str,utf8 輸出結果 14 6 結果分析 在strlen計算時,對待乙個u...

字串長度

在c c 中,字串是以零 0 結尾的。比如,對於下面的字串 hello word 在最後乙個字元 d 後面,還有乙個我們肉眼看不見的 0 字元,作為該字串的結束符。所以,hello word 其在記憶體中的儲存形式為 最後有乙個我們看不見的 0 明白了字串的結尾方式,那麼如何計算字串的長度呢?比如 ...