vb中在一个字符串变量中查找子串的程序怎么编

作者&投稿:才功 (若有异议请与网页底部的电邮联系)
在vb程序设计中,如何在一个给定的字符串中查找某个字符第一次出现的位置?~

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 语句设置执行一个比较。vbBinaryCompare0执行一个二进制比较。vbTextCompare1执行一个按照原文的比较。vbDatabaseCompare2仅适用于Microsoft Access,执行一个基于数据库中信息的比较。
返回值如果InStr返回string1 为零长度0string1 为 NullNullstring2 为零长度Startstring2 为 NullNullstring2 找不到0在 string1 中找到string2 找到的位置start > string20
说明InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。

关键语句:replace
用法:replace (原字符串变量,查找的关键字,替换成什么字符串)
例如:
tt="123-45 7890"
tt1="123+45+42+78 99"
temp=replace(tt,"-","") '先将-替换成""空
temp=replace(tt," ","") ''再将空格替换成""空
temp1=replace(tt1," ","") '先将空格替换成""空
temp1=replace(tt1,"+","嘿嘿") '再将+替换成嘿嘿

msgbox temp
msgbox temp1

'此段最终输出结果:123457890
下一个结果是:123嘿嘿45嘿嘿42嘿嘿7899

VB 字符串处理函数集
mid(字符串,从第几个开始,长度) 在[字符串]中[从第几个开始]取出[长度个字符串]
例如 mid("小欣无敌",1,3) 则返回 "小欣无"
instr(从第几个开始,字符串1,字符串2) 从规定的位置开始查找,返回字符串2在字符串1中的位置
例如 instr(1,"小欣无敌","小") 则返回 1,instr(2,"小欣无敌","小"),则返回 0 。 0 表示未找到
InStrRev(字符串1,字符串2,从第几个开始) 从规定的位置开始,从后住前查找,返回字符串2在字符串1中的位置,此处注意,虽是从后住前查找,但是返回的值还是从前往后算的。
例如 instrRev("小欣无敌","小",2) 则返回 2 ; instrRev("小欣无敌","欣",1) 则返回 0 ,因为它从"小欣无敌"的第1个字开始往前查找,所以找不到 。0 表示未找到
left(字符串,长度) 从[字符串]的左边开始返回[长度]个字符
例如 Left("小欣无敌,3) 则返回 "小欣无"
right(字符串,长度) 从[字符串]的右边开始返回[长度]个字符
例如 Right("小欣无敌",3) 则返回 "欣无敌"
ucase(字符串) 返回[字符串]的大写形式,只对英文字符有效
例如 ucase("xiaoXINwuDi") 则返回 "XIAOXINWUDI"
lcase(字符串) 返回[字符串]的小写形式,只对英文字符有效
例如 lcase("xiaoXINwuDi") 则返回 "xiaoxinwudi"
asc(字符) 返回[字符]的ascii编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程
例如 asc("小") 则返回 -12127 ; asc("小欣无敌") 也返回 -12127
chr(ASCii编码) 返回[Ascii]编码所代表的字符,和Chr()函数是一个可逆的过程
例如 chr(-12127) 则返回 "小" ;chr(asc("小")) 则返回"小"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本)
trim(字符串) 返回去掉了前、后之后的[字符串]
例如 trim(" 小 欣 无敌 ") 则返回 "小 欣 无敌" ,中间的空格不受任何影响
string(个数,字符) 返回[个数]个[字符]
例如 string(3,"小") 则返回 "小小小" , 而 string(3,"小欣无敌") 也返回 "小",只有首字符才有效
space(个数) 返回[个数]个空格
例如 space(5) 则返回 " "
strconv(字符串,转换的类型) 将字符串转成指定的类型。常用的类型只有两个,vbwide 半角转成全角,vbNarrow 全角转成半角
例如 strconv("xiao",vbwide) 则返回 "XIAO",而strconv("XIAO",vbnarrow) 则返回 "XIAO"
’备注 vbwide = 4 ,vbnarrow = 8
len(字符串) 返回[字符串]的长度
例如 len("小欣无敌") 则返回 4

如:a="abcdefg"
b=instr(a,"cd") '这里b返回的是3

例:在 "who are you"中查找"you"
dim s1 as string,s2 as string,n as integer
s1="who are you"
s2="you"
n=instr(2,s1,s2) '表示从s1的第2个位置开始查找字符串s2
print n 'n的结果为9

这个问题还要问吗,下一本vb内部函数大全吧,百度文库很多

问题楼上的朋友都答得非常完美了

但授人鱼不如授人以渔


vb怎样在一个字符串中替换里面的另外一个字符串
Mid(String1, Start1, 1) = Mid(String2, Start2, 1)中start1是string1中要替换位置起始字符的位置,1为要替换的 个数,start2是string2中将要替换到string1中的的字符的起始位置,个数与前面相同,也为1,例:Dim a As String a = "abcdefghijk"Dim b As String b = "123456789"Mid(a...

VB中,如何在一个字符串里按特定规律插入字符?
写了一个函数给您调用,这样你可以在任意字符串中查找某字符的个数,调用格式CharNum(A,B),其中A是字符串,B是要查找的字符:Function CharNum(ByVal strInput As String, ByVal strChar As String) As Long Dim S() As String If Len(Trim(strInput)) = 0 Then CharNum = 0 Else S =...

在一个字符数组中存放“AbcDEfg”字符串,编写程序,把该字符串中的小写...
include <stdio.h> include <stdlib.h> int main(){ char chs[]={'a','B','c','E','F','k','V'};char *p=chs;int i=0;for(i=0;i<sizeof(chs);i++){ if(*(p+i)>=97 && *(p+i)<=122){ \/\/小写字母ascii码范围:97-122 (p+i)=*(p+i)-32;\/\/转换为对应的...

C语言中,如何在一个字符串中修改当中的个别值。
int a[4]="abcd";abcd在int 型数组中以ASCII码保存。数组中的值可以直接作为左值改变 数组是从0开始计数的,所以c对应的为 a[2]=count;可能你弄错了 char a[4]更合适,这是专门用来存储字符的

C语言问题:从一个字符串里删掉字符b
define N 100 include "stdio.h"void main(){ int i;char a[N];printf("输入一个字符串:\\n");gets(a);for (i=0;a[i]!='\\0';i++)if (a[i]!='b')printf("%c",a[i]);printf("\\n");}

vb中怎么判断一个字符串中包含另一个字符串
If x = b Then n = n + 1 Next i Label3.Caption = "字符" & b & "在字符串”" & a & "“中" & vbCrLf & "共出现了" & n & "次。"End Sub 这样便达到了检索所有字符、统计某个字符出现次数的需求了。3、同理,对text2进行设置,当光标停留在text2中,按下回车键时,...

java编程,b写程序将一个字符串中的单词解析出来然后将它们添加到一个h...
public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("Please input something: ");String inputString = scanner.next();Set<Character> charSet = new HashSet<>();for(char c: inputString.toCharArray()){ charSet.add(c);} System.out...

c语言编程编写函数,在一个字符串中查找字符x,将其全部替换为y(x、y...
a[i] != '\\0') { if(a[i] == b) a[i] = c; count++; i++; } return count;}int main() {char a[N],b,c;int i;printf("请输入6个字符:\\n");for(i = 0;i < N;i++)scanf("%c",&a[i]);printf("请分别输入被替换字符和替换字符:\\n");a[i] = '\\0';...

在C#中如何将一个字符串变成另外一个字符串呢?
代码如下:string str = "";byte[] array = System.Text.Encoding.ASCII.GetBytes("abc");for (int i = 0; i < array.Length; i++){ array[i] += 1;} str = System.Text.Encoding.ASCII.GetString(array); ;

java怎么把一个字符串中的字符替换成别
1.在字符串后面追加:用append()方法将各种对象加入到字符串中。2.在字符串中间插入:用insert()方法。例StringBuffer str=new StringBuffer("Thisis a String");Str.insert(9,"test");System.out.println(str.toString());这段代码输出为:Thisis a test String3.改变某个位置所在的字符,用...

安新县19321143656: VB中在指定字符串中查找子字符串的函数是什么? -
务政辣椒: InStr 返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置.语法 InStr([start, ]string1, string2[, compare]) InStr 函数的语法具有下面的参数:部分 说明 start 可选参数.为数值表达式,设置每次搜索的起点.如果省略,将从第一个字...

安新县19321143656: vb如何在字符串中查找某个子字符串,并将其删除 -
务政辣椒: 给你举个例子吧: dim r as string,s as string r="abcdefg12345" s="abc" if instr(r,s)<>0 then'如果S在R中,则将S用""替换. r=replace(r,s,"") end if 如果有多处,则需要用DO循环.这样写: dim r as string,s as string r="abcdefg12345" s="abc" do while instr(r,s)<>0 r=replace(r,s,"") loop

安新县19321143656: 从一个字符串中查找子串,如果存在则统计子串的个数.要有一个“查找子串”的命令按钮.
务政辣椒: Private Sub Command1_Click() Dim arr, s As String s = InputBox("输入字串:", , "you") If InStr(Text1, s) > 0 Then arr = Split(Text1, s) MsgBox s & "共找到:" & UBound(arr) Else MsgBox "未找到:" & s End If End Sub Private Sub Form_Load() Text1 = "I like you do you like me!" End Sub

安新县19321143656: vb 在TEXT1中查找TEXT2提供的字符串 -
务政辣椒: insrt()函数和InstrRev()函数.一个向后,一个向前,你查查他们的用法就知道了.你把查找位置设置为变量,把上面函数的返回值赋值给这个变量,就可以查找下一个了.

安新县19321143656: vb6.0中依次递减查询子字符串. -
务政辣椒: 认真看书...简单的字符串操作.查找函数是find(),右侧截取函数是right(),返回字符串长度函数是len().提示结束..

安新县19321143656: VB中从字符串A中查找字符串B.例:在ABCD中找AB -
务政辣椒: instr(str1,str2)如果str2存在那么函数会返回字符最先出现位置的一个整数,比如Instr(“123456”,“”34”)那么函数会返回3

安新县19321143656: VB问题.编一个子过程DeleStr(s1,s2),将字符串s1中出现的s2子字符串删去,结果存放在s1中. -
务政辣椒: 请保证你的代码其他地方完全正确,我保证我填写的地方可以正确:) 注意黑色部分—— Private Function DeleStr(s1 As String, ByVal s2 As String) As String Dim i%, Is2%,Is1% '少了声明!!! i = InStr(s1, s2) '在s1中查找子串s2 ls2 = Len(s2...

安新县19321143656: vb.net 中的字符串搜索、查找功能在哪里 -
务政辣椒: 有啊,用正则表达式,下面是简单的例子 Imports System.Text.RegularExpressions Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim str As String = "...

安新县19321143656: vc在一个字符串中如何找一个子字符串 -
务政辣椒: 楼主使用下面我写的这个函数即可!start返回在s里的位置.经典字符串匹配问题的简单处理方法:int strindex(char *s, char *t, int slen ,int tlen,int pos ) //两个串,pos代表你在S中要开始查找的位置,pos=0就是从头开始查找,slen和tlen代表这...

安新县19321143656: VB中查找和替换的代码怎么写 -
务政辣椒: 你是要在一个字符串中查找指定字符(串)并替换吧,给你如下答案:dim a as string dim b as stringa="abcdefghijklmn"b=replace(a,"abc","123")print apr

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网