如何截取一个字符串的一部分? 谢谢!!!

mhgk2008 2004-10-27 09:05:28
例:***(**)
如何截取 括号外的***和括号里的**
...全文
644 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
GGL123 2004-11-03
  • 打赏
  • 举报
回复
呵呵 结吧
醉心编码 2004-11-03
  • 打赏
  • 举报
回复
赶快结贴吧,诸位老兄的意见,足可以解决全部字符串截取的问题!
醉心编码 2004-11-03
  • 打赏
  • 举报
回复
赶快结贴吧,诸位老兄的意见,足可以解决全部字符串截取的问题!
yingxiangchen 2004-11-03
  • 打赏
  • 举报
回复
Dim aa As String
Dim inta As Integer, intb As Integer
aa = "***(****)"
inta = InStr(1, aa, "(")
intb = InStr(1, aa, ")")
MsgBox (Left(aa, inta - 1))
MsgBox (Mid(aa, inta + 1, intb - inta - 1))
随便字符如何变,第一个信息框总是外面的,第二个信息总是内面的。。
51365133 2004-11-02
  • 打赏
  • 举报
回复
Private Sub Form_Load()
s = "hghgh(kjhkjh)"
a = Mid(s, 1, InStr(s, "(") - 1)
b = Mid(s, InStr(s, "(") + 1, InStr(s, ")") - InStr(s, "(") - 1)
End Sub
lilei 2004-11-02
  • 打赏
  • 举报
回复
mid函数
wudeqing 2004-11-02
  • 打赏
  • 举报
回复
private sub command1_click()
dim th as string
th=mid$(源字符串,起始位置,长度)
print th
end sub
51365133 2004-10-30
  • 打赏
  • 举报
回复
Private Sub Form_Load()
a = "sffffff(ffesdfef)ewrgwegwerg"
MsgBox Mid(a, InStr(a, "(") + 1, InStr(a, ")") - InStr(a, "(") - 1)
End Sub

晕,我关键是看见的晚了
iStar64 2004-10-30
  • 打赏
  • 举报
回复
Mid()函数,自己再去看看CSDN你就能够驾御它了
szmickylee 2004-10-27
  • 打赏
  • 举报
回复
bdxzq(思考) 对了
行云边 2004-10-27
  • 打赏
  • 举报
回复
bdxzq(思考) 正解
yiliao 2004-10-27
  • 打赏
  • 举报
回复
lxcc(虫子|专注于抢分) 讲的比较抽象,但方法是正确的.
你还是看 Surpass(网络飞狐) 讲的。
Surpass 2004-10-27
  • 打赏
  • 举报
回复
最好mid与instr配合使用。



Mid 函数

返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。


说明

欲知 string 的字符数,可用 Len 函数。

注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。

Mid 函数示例
本示例使用 Mid 语句来得到某个字符串中的几个字符。

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" 建立一个字符串。
FirstWord = Mid(MyString, 1, 3) ' 返回 "Mid"。
LastWord = Mid(MyString, 14, 4) ' 返回 "Demo"。
MidWords = Mid(MyString, 5) ' 返回 "Funcion Demo"。





InStr 函数


返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法

InStr([start, ]string1, string2[, compare])

InStr 函数的语法具有下面的参数:

部分 说明
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。


设置

compare 参数设置为:

常数 值 描述
vbUseCompareOption -1 使用Option Compare 语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。


返回值

如果 InStr返回
string1 为零长度 0
string1 为 Null Null
string2 为零长度 Start
string2 为 Null Null
string2 找不到 0
在 string1 中找到string2 找到的位置
start > string2 0


说明

InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。

InStr 函数示例
本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 被搜索的字符串。
SearchChar = "P" ' 要查找字符串 "P"。

' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
' 小写 p 和大写 P 在文本比较下是一样的。
MyPos = Instr(4, SearchString, SearchChar, 1)

' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
' 小写 p 和大写 P 在二进制比较下是不一样的。
MyPos = Instr(1, SearchString, SearchChar, 0)

' 缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos = Instr(SearchString, SearchChar) ' 返回 9。

MyPos = Instr(1, SearchString, "W") ' 返回 0。


思考 2004-10-27
  • 打赏
  • 举报
回复
Dim s$, k1%, k2%, s1$, s2$, L%

s = "123(456)": L = Len(s)

k1 = InStr(s, "(")
If k1 > 0 Then
s1 = Left$(s, L - k1 - 1)
k2 = InStr(s, ")")
If k2 > 0 Then s2 = Mid$(s, k1 + 1, k2 - k1 - 1)
End If
MsgBox s1 & "," & s2
lxcc 2004-10-27
  • 打赏
  • 举报
回复
Mid

Private Sub Command1_Click()
Dim strValue As String
strValue = "***(**)"
Debug.Print Mid(strValue, 1, 3)
Debug.Print Mid(strValue, 5, 2)
End Sub


BlueBeer 2004-10-27
  • 打赏
  • 举报
回复
northwolves(狼行天下) 妙!
zhzhq800204 2004-10-27
  • 打赏
  • 举报
回复
InStr 函数

和 MID函数配合使用吧
zdcwin 2004-10-27
  • 打赏
  • 举报
回复
用instr和mid一般都能搞定
northwolves 2004-10-27
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Const x = "***(**)"
MsgBox Split(x, "(")(0) & vbCrLf & Split(Split(x, "(")(1), ")")(0)
End Sub
flyingZFX 2004-10-27
  • 打赏
  • 举报
回复
InStr 函数

和 MID函数配合使用吧,
加载更多回复(3)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧