当前位置: 代码迷 >> PB >> 怎么截取子串
  详细解决方案

怎么截取子串

热度:53   发布时间:2016-04-29 09:10:24.0
如何截取子串
想把1.8*1101*C*610*切边*BZJ 308截取其中的子串1.8*1101*C,也就是截取第一个字符到第三个字符*为止,如何截取,请赐教!

------解决方案--------------------
C# code
String ls_Str = "1.8*1101*C*610*切功*BZJ 308"Long ll_Pos      // 位置Int i            // 循环计数器li_Pos = 0       // 从第1个字每开始检索// 循环检索3个星号的位置For i = 1 To 3    ll_Pos = Pos(ls_Str,"*", ll_Pos + 1)    // 如果字符串中没有3个星号,然把整个字符串返回    If ll_Pos = 0 Then        Return ls_Str    End IfNext// 返回截取的子串Return Left(ls_Str, ll_Pos - 1)
------解决方案--------------------
探讨
C# code

String ls_Str = "1.8*1101*C*610*切功*BZJ 308"
Long ll_Pos // 位置
Int i // 循环计数器

li_Pos = 0 // 从第1个字每开始检索
// 循环检索3个星号的位置
For i = 1 To 3
ll_Pos = Pos(ls_Str,"*"……

------解决方案--------------------
探讨
1楼循环中
If ll_Pos = 0 Then
Return ls_Str
End If
是有问题的,ll_pos在*好不等于3个时也不会为0

------解决方案--------------------
可以用match来匹配*,然后再从*后开始定位!
  相关解决方案