下面的代码是提取括号中的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
以上代码有时候会报错(不知道是不是因为括号有时候是英文状态的原因)。如果是全角和英文状态下混合的括号,如何处理?谢谢
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
里面的数字不是固定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编辑过]
数字是固定6位的,按照你上面的代码执行返回结果是空白的