Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:提取字符串

1楼
蓝蚂蚁 发表于:2025/1/14 19:55:00
下面的代码是提取括号中的076927赋给TextBox1,学校代码赋给DropBox1
Dim Value As String = “【我的中国梦主题】 (076927学校代码)”   ‘这个括号是全角
Dim sps() As Char = {"(",")"}
Dim Names() As String  = Value.Split(sps)
Dim s1,s2 As String
s1=Names(1).Substring(0,6)
s2=Names(1).Substring(6)
e.Form.controls("TextBox1").value=s1
e.Form.controls("DropBox1").value=s2
以上代码有时候会报错(不知道是不是因为括号有时候是英文状态的原因)。如果是全角和英文状态下混合的括号,如何处理?谢谢
2楼
有点蓝 发表于:2025/1/14 20:14:00
Dim pattern As String = "(?<=\(|().*?(?=\)|))" '匹配括号中的内容
Dim txt = "【我的中国梦主题】 (076927学校代码)"
Dim rgx = New System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)

For Each match As System.Text.RegularExpressions.Match In rgx.Matches(txt)
    Output.Show(match.Value.Substring(0, 6))
Next
3楼
蓝蚂蚁 发表于:2025/1/14 20:38:00

图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看
提示这错误
4楼
有点蓝 发表于:2025/1/14 21:34:00
里面的数字不是固定6位?

Dim pattern As String = "(?<=\(|().*?(?=\)|))" '匹配括号中的内容
Dim txt = "【我的中国梦主题】 (076927学校代码)"
Dim rgx = New System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)

For Each match As System.Text.RegularExpressions.Match In rgx.Matches(txt)
    Dim str = System.Text.RegularExpressions.Regex.Replace(match.Value , "[^\d+]" , "")
    Output.Show(str)
Next
[此贴子已经被作者于2025/1/14 21:34:37编辑过]
5楼
蓝蚂蚁 发表于:2025/1/14 21:56:00
数字是固定6位的,按照你上面的代码执行返回结果是空白的

6楼
蓝蚂蚁 发表于:2025/1/14 21:57:00
可以了,我没有在代码之前添加'''
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .05078 s, 2 queries.