在C#中截取字串的方法用string.Substring(),但若遇到中英文都有的字串,
那Run出來的結果就不是我們要的了...如以下範例...
string l_Tmp0 = "abc這是測試";
l_Tmp0.Substring(0,3) ==> abc
l_Tmp0.Substring(0,4) ==> abc這
l_Tmp0.Substring(0,5) ==> abc這是
解決這個問題可以使用System.Text.Encoding.Default.GetString()..
我寫了一個function在此share給各位
在C#中截取字串的方法用string.Substring(),但若遇到中英文都有的字串,
那Run出來的結果就不是我們要的了...如以下範例...




解決這個問題可以使用System.Text.Encoding.Default.GetString()..
我寫了一個function在此share給各位

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

測試結果...
string l_Tmp = "abc這是測試";
SubStr(l_Tmp, 3) ==> abc
SubStr(l_Tmp, 4) ==> abc?
SubStr(l_Tmp, 5) ==> abc這
SubStr(l_Tmp, 6) ==> abc這?
SubStr(l_Tmp, 7) ==> abc這是
SubStr(l_Tmp, 20) ==> abc這是測試
SubStr(l_Tmp, 3,2) ==> 這
SubStr(l_Tmp, 20,2) ==>
至於如何去截一半中文產生的?問號,期待高手指教一下..
update 97/11/12感謝ryantsai兄的回應,下方SubStr已根據ryantsai兄的方法改為新版

















