VB截取字符串 vb 如何截取字符串??

VB\u5982\u4f55\u622a\u53d6\u5b57\u7b26\u4e32

VB6\u91cc
right\u7684\u51fd\u6570\u662f\u53d6\u4e00\u6bb5\u5b57\u7b26\u4e32\u7684\u53f3\u8fb9\u51e0\u4e2a\u5b57\u7b26
\u6bd4\u5982
dim a as string
dim b as string

a="12345678"
b=right(a,4)

\u90a3\u4e48b\u7684\u503c\u662f5678

x\u5b57\u7b26\u4e32\u53d8\u91cf\uff0c\u7528mid\u51fd\u6570\u5c31\u53ef\u4ee5\u5b9e\u73b0\u4e86
a=mid\uff08x\uff0c1\uff0c3\uff09
b=mid\uff08x\uff0c5\uff0c3\uff09

方法1:While循环
Private Sub Command1_Click()
List1.Clear '清空List1
s = "<crop id=""" '设置关键字,根据你提供的文本,应该都是以<crop id="来识别的
l = Len(s) '关键字的长度,下面要用到
p = InStr(Text1, s) '关键字在Text1中出现的位置
Do While p > 0 '开始循环
p1 = InStr(p + l, Text1, """") '查找关键字后的单元格"
If p1 = 0 Then Exit Do '为了冗错,加入该句,意思是如果关键字后没有引号,结束循环,这种可能性是存在的,比如在写网页文件时读取数据库错误,在写了<crop id="后中断了
List1.AddItem Mid(Text1, p + l, p1 - p - l) '截取字符串
p = InStr(p + 1, Text1, s) '重置p值,如果p=0,将结束循环
Loop
End Sub

方法2:For循环
Private Sub Command1_Click()
List1.Clear
arr = Split(Text1, "<crop id=""") '以<crop id="作为分隔符,拆分到数组
For i = 1 To UBound(arr) 'For循环
List1.AddItem Val(arr(i)) '假定ID后为数字,VAL函数可直接截取到非数字的位置,如果后面不是数字,该行修改为:List1.AddItem Left(arr(i), InStr(arr(i), """") - 1)
Next
End Sub

注意以上引号的数量:
a="aaa",a的值为aaa
a="aaa""",a的值为aaa"
a="""",a的值为"

先用Instr函数搜索【<crop id="】字符串,得到S1值为数值开始偏移量;
然后再用Instr函数搜索刚刚得到搜索位置S1开始搜索【" offsetX=】字符串,得到S2值为数值结束位置;
跟着用Mid函数提取S1+11开始,S2-S1-11为提取长度的字符串,跟着把提取到的字符串用Vol函数转换数字即可。
当然中间要加些防止出错的纠错语句。

Option Explicit

Private Function GetStr(ByVal pStr As String) As String
Dim n As Long

n = InStr(pStr, "-")
If n = 0 Then '如果没有-号的情况
GetStr = pStr '我这儿是返回原字符串。你按你的情况自己的定义
Else '如果有-号的情况
n = InStr(n + 1, pStr, "-") '查找第二个-号
If n = 0 Then '没第二个减号,返回原字符串
GetStr = pStr
Else '有第二个减号,返回第二个减号前的字串
GetStr = Mid(pStr, 1, n - 1)
End If
End If

End Function

'测试:
Private Sub Command1_Click()
Dim s As String

s = "0904123-158-1"
Debug.Print GetStr(s)

s = "0904123-158"
Debug.Print GetStr(s)

s = "0904123"
Debug.Print GetStr(s)

End Sub


这个肯定可以,我调试过了:
Private Sub Command1_Click()
Dim a() As String
a = Split(Text1.Text, "- <crop id=")
Dim i As Integer, ss As String
For i = 1 To UBound(a)
ss = Mid(a(i), 2, 3)
list1.AddItem ss
Next
End Sub

去看看vb读取xml的相关文章吧!具体就不贴代码了

  • vb涓璴eft鏄粈涔堟剰鎬?
    绛旓細鍦╒B涓紝Left鏄竴绉嶇敤浜庢埅鍙栧瓧绗︿覆鐨勫嚱鏁銆傝繖涓嚱鏁版湁涓や釜甯哥敤鐨勫弬鏁帮細绗竴涓弬鏁版槸瑕佹埅鍙栫殑瀛楃涓诧紝绗簩涓弬鏁版槸瑕佹埅鍙栫殑瀛楃鏁伴噺銆傛瘮濡傦紝濡傛灉鎴戜滑鏈変竴涓瓧绗︿覆鍙玸tr锛屽畠鐨勫唴瀹逛负鈥淗ello World鈥濓紝鎴戜滑鎯宠鎴彇鍓5涓瓧绗︼紝灏卞彲浠ヤ娇鐢↙eft鍑芥暟鏉ュ疄鐜帮細Left(str, 5)銆傝繖鏍蜂細杩斿洖鈥淗ello鈥濊繖涓瓙涓层傞櫎...
  • vb 濡備綍鎴彇浠ョ┖鏍煎垎闅旂殑閮ㄥ垎瀛楃涓,濡傗滃悓鎰 鏉庣孩 2011-9-23 9:23...
    绛旓細鐩存帴鐢⊿PLIT鍑芥暟灏嗗瓧绗︿覆鎵撴暎鏀惧埌鍙皟鏁扮粍閲岋紝鍙栭渶瑕佺殑鍏冪礌鍗冲彲銆傚锛欴im a() as string a=Split("鍚屾剰 鏉庣孩 2011-9-23 9:23 ")'娉ㄦ剰浣跨敤鑻辨枃灏忓啓鐨勫弻寮曞彿锛屼笉鏄腑鏂囩殑锛屽惁鍒欏嚭閿 a(1) 鍗虫槸鈥滄潕绾⑩
  • VB绋嬪簭璁剧疆闂:濡備綍鎻愬彇鎸囧畾瀛楃涓涔嬪墠鐨勫瓧绗︿覆
    绛旓細1銆佷娇鐢↙eft$(string, length)鍑芥暟锛圠eft$涔熷彲浠ョ敤Left鏇挎崲锛宻tring瀛楃涓銆乴ength鎴彇鐨勯暱搴︼級鍜孖nStr([start,] string1, string2 [, compare])锛坰tart璧峰浣嶇疆銆乻tring1瀛楃涓层乻tring2瑕佹悳绱㈠瓧绗︿覆銆乧ompare锛0浣跨敤浜屽垎鎼滅储銆1鍖哄垎澶у皬鍐欙級鍑芥暟Left$("123456", Instr("123456", "56")) 2銆VB...
  • vb缂栫▼鎬庝箞鎴彇瀛楃涓?
    绛旓細浣跨敤mid鍑芥暟 鍙傛暟1鏄枃鏈唴瀹 鍙傛暟2鏄捣濮嬩綅缃 鍙傛暟3鏄鎴彇鐨勬暟閲 Private Sub Command1_Click()MsgBox Mid(Text1.Text, Val(Text2.Text), Val(Text3.Text) - Val(Text2.Text) + 1)End Sub浣犺嚜宸辩殑浠g爜闂鏄 鍙傛暟3 棰樼洰璇村埌绗嚑涓瀛楃 浣犲簲璇ユ槸鐢ㄨ繖涓暟鍑忓幓璧峰浣嶇疆+1 鎵嶆槸鏁伴噺 鍥犱负涓嶄竴...
  • vb濡備綍鍒嗗埆鎴彇鎸囧畾瀛楃涔嬪墠鍜屼箣鍚庣殑鍐呭?
    绛旓細1銆佺涓姝ワ紝鍒犻櫎瀛楃涓C涓ょ鐨勭┖鏍硷紝瑙佷笅鍥撅紝杞埌涓嬮潰鐨勬楠ゃ2銆佺浜屾锛屽畬鎴愪笂杩版楠ゅ悗锛屾埅鍙朇鐨勬渶宸﹁竟鐨刵涓瓧绗︼紝瑙佷笅鍥撅紝杞埌涓嬮潰鐨勬楠ゃ3銆佺涓夋锛屽畬鎴愪笂杩版楠ゅ悗锛屾埅鍙朇鐨勬渶鍙充晶n涓瓧绗︼紝瑙佷笅鍥撅紝杞埌涓嬮潰鐨勬楠ゃ4銆佺鍥涙锛屽畬鎴愪笂杩版楠ゅ悗锛屼粠C涓殑绗琺涓瀛楃鎴彇n涓瓧绗︼紝瑙佷笅鍥撅紝杞埌...
  • vb鎴彇姣忚鍓嶄笁涓瀛楃涓插瓧绗︿覆
    绛旓細tS = Left$(S, InStr(S, vbCrLf) - 1)S = Mid$(S, InStr(S, vbCrLf) + 2)Else tS = S S = ""End If ttS = ttS & "ddddddd" & Mid$(tS, 5) & vbCrLf Loop S = ttS 濡傛灉鏄瘡琛屾坊鍔瀛楃涓鍒欐妸鍊掓暟绗3琛屾崲鎴 ttS = ttS & "bb" & tS & vbCrLf 娉ㄦ剰锛屼笉璁鸿緭鍏ユ椂鏈鍚...
  • VB 浠庡彸杈鎴彇瀛楃涓
    绛旓細VB 浠庡彸杈鎴彇瀛楃涓鍙互浣跨敤Right鍑芥暟锛歅rivate Sub Command1_Click()s = "1234567890"s1 = Right(s, 4)Print s; "鐨勫彸杈4涓瓧绗︽槸"; s1 End Sub
  • VB濡備綍鎴彇鎸囧畾瀛楃鍚庨潰鐨凬涓瓧绗
    绛旓細1銆乀rim(C)锛氬幓鎺瀛楃涓C涓ょ鐨勭┖鏍笺2銆丩eft(C,n)锛鎴彇C鏈宸﹁竟鐨刵涓瓧绗︺3銆丷ight(C,n)锛氭埅鍙朇鏈鍙宠竟鐨刵涓瓧绗︺4銆丮id(C,m,n)锛氭埅鍙朇涓粠绗琺涓瓧绗﹀紑濮嬬殑n涓瓧绗︺5銆丩en(C)锛氳繑鍥濩鍖呭惈鐨勫瓧绗︽暟锛屾眽瀛楃┖鏍奸兘绠椾竴涓瓧绗︺6銆丩case(C)锛氬皢C涓殑澶у啓瀛楁瘝杞寲鎴愬皬鍐欏瓧姣嶃7銆乁case(...
  • VB鎴彇瀛楃涓
    绛旓細List1.AddItem Mid(Text1, p + l, p1 - p - l) '鎴彇瀛楃涓 p = InStr(p + 1, Text1, s) '閲嶇疆p鍊硷紝濡傛灉p=0锛屽皢缁撴潫寰幆 Loop End Sub 鏂规硶2锛欶or寰幆 Private Sub Command1_Click()List1.Clear arr = Split(Text1, "<crop id=""") '浠<crop id="浣滀负鍒嗛殧绗︼紝鎷嗗垎鍒版暟缁...
  • vb涓殑mid鍑芥暟
    绛旓細Mid鏄疺isual Basic鍜孧icrosoft Excel涓殑涓涓瀛楃涓鍑芥暟锛屼綔鐢ㄦ槸浠庝竴涓瓧绗︿覆涓鎴彇鍑烘寚瀹氭暟閲忕殑瀛楃銆傝繖涓嚱鏁扮殑3涓弬鏁板悇鍦VB鍜孍xcel涓簰鐩哥瓑浠凤紝浣哣B涓殑Length鍙傛暟鍙互鐪佺暐锛岃孍xcel涓璶um_chars鍙傛暟涓嶅彲鐪佺暐銆傚綋Start锛坰tart_num锛夊弬鏁板皬浜1鏃讹紝鍑芥暟杩斿洖涓涓敊璇紱褰揝tart鍙傛暟鍊煎ぇ浜嶴tring锛坱ext锛夊弬鏁...
  • 扩展阅读:获取字符串第n个字符 ... vb 包含字符串函数 ... c#截取字符串 ... vb字符串转数字 ... vb中字符串的截取 ... vb 字符串 ... vb截取字符串的命令 ... 截取字符串的三种方法 ... 字符串的部分替换 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网