怎么获取指定字符在字符串的位置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么获取指定字符在字符串的位置?相关的知识,希望对你有一定的参考价值。

VB的Right函数、Left函数提供了从左或从右在已知字符串中截取指定数量的未知字符串的功能,不过要获取某个特定字符前面或者后面的字符串,情形就不一样了,比如我们要在字符串"E:\MyFavourite\001\xxx.xxx"中截取最后一个"\"后面的字符串亦即文件名,单单用上述几个函数是难以实现的,因为文件名的字节数难以确定。这时函数InStrRev就派上用场了。InStrRev返回一个字符串在另一个字符串出现的位置,充分利用它可以轻而易举地截取所要的内容。
下面举个实例来加以说明,希望大家可以从中得到启示。本例仅需要一个TextBox控件。

Private Sub Form_Load()
'声明已知字符串的字节数、"\"所在位置的变量
Dim n As Integer, m As Integer
'声明字符串变量
Dim i As String, j As String
j = "E:\Music\MyFavourite\001\Spring.MP3" '已知字符串初值
i = "\" '要查找的指定字符
For n = 1 To Len(j) '这里用了Len函数来计算已知字符串的字节数
m = InStrRev(j, i, -1) '"\"所在的位置(其中的-1是默认的)
Next n
'显示最后一个"\"后面的字符串
Text1.Text = Right(j, Len(j) - m)
End Sub

运行程序,文本框中的是不是明明白白地躺着"Spring.mp3"?试着改一改j变量,得到的结果是不是预期的?
参考技术A ''给你一个做参考吧~~.net 2008 vb的msdn上的例子

Dim SearchString As String = "XXpXXpXXPXXP" '需要搜索的目标字符串
Dim SearchChar As String = "P" '搜索字符串

Dim TestPos As Integer '返回位置
' 从位置4开始搜索
TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text) '返回6

' 从位置1开始搜索
TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary) '返回9

'注意搜索模式 如果此处以text模式搜索,则返回3
参考技术B 用C语言的话,可以用for语句实现:
假若一串字符存在 str[100]中,要寻找的字符为'A’;
for(i=0;str[i]!='A' &&str[i]!='\0';i++);
循环结束后,i就指示'A'的位置或者指向字符串结束符。

js获取指定字符串中位置的,字符的ascii码:


获取字符串指定位置的字符的ascii码:
var ascii=str.charCodeAt(i);

以上是关于怎么获取指定字符在字符串的位置?的主要内容,如果未能解决你的问题,请参考以下文章

QT 获取字符串的位置

js中怎么找到一段字符串中第三个“的位置

如何获取某个字符在字符串中的位置

java字符串中怎么去掉指定字符的前一个字符

js 获取字符串某字符的所以位置

如何获取一个字符串在某个字符串的位置