怎么找到一个字符串中特定字符的位置

Posted

tags:

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

参考技术A 使用FIND函数,嵌套SUBSTITUTE函数实现。
首先假设表格如下图所示,要查找A1单元格中“知道”在该字符串中第二次出现的位置

步骤如下:
在B2单元格中输入公式”=FIND("@",SUBSTITUTE(A1,"与","@",2))“(其中@可替换成任何原文本中没有的字符),回车即可。

函数功能解析:
(1)SUBSTITUTE函数:
①函数功能:将某字符串中在指定位置出现的指定字符替换成自定义的字符。
②语法:SUBSTITUTE(text,old_text,new_text,instance_num)
text 是需要替换其中字符的文本,或是含有文本的单元格引用;
old_text 是需要替换的旧文本;
new_text 用于替换old_text 的文本;
instance_num 为一数值,用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;否则将用new_text 替换Text 中出现的所有old_text。
(2)FIND函数
①函数功能:查找指定字符在字符串中出现的位置。
②语法: FINDB(find_text,within_text,start_num)Find_text 是要查找的文本。Within_text 是包含要查找文本的文本。Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。
如果忽略 start_num,则假设其为 1。
(3)本例解析
首先利用SUBSTITUTE函数将字符串中要查找的指定字符第二次出现时的字符替代成特殊字符(本例中采用”@“),然后利用FIND函数查找”@“出现的位置,即为原来字符串中指定字符第二次出现的位置。本回答被提问者采纳

JAVA字符串中取特定字符的位置

不考虑串中多次出现该字符的问题。就假定该串中只出现了一次我们要查找位置的字符,我要得到的是该字符在串中的位置,String、StringBuffer两个类分别都有什么方法? 我只是记不清了,请大家帮忙一下
三楼的恶心,我是来问问题的又不是需求意见的,你怎么就断定我想做程序员?真晕,以后不要什么都不清楚就在那乱吠

String,一但声明了就不能变了!而StringBuffer是可变的,String声明的空间是个池里,而StringBuffer只能在堆里声明。
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
参考技术A int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
参考技术B String str = "123";
int i = str.IndexOf('1'); // 返回第一个匹配字符的位置

StringBuffer一样的。本回答被提问者采纳
参考技术C 给你一个测试类:

public class TestString

/**
* @param args
* @author 韩卫召
*/
public static void main(String[] args)
//string测试
String str = "hanweizhai";
if(str.indexOf("h")!=-1)
//如果包含h
System.out.println("String Test>>>>>>>>>>>>>>"+(str.indexOf("h")+1));

//stringBuffer测试
StringBuffer sb=new StringBuffer();
sb.append("hanweizhao");
if(sb.indexOf("a")!=-1)
//如果包含a
System.out.println("StringBuffer Test>>>>>>>>>>"+(str.indexOf("a")+1));



参考技术D String s="abcdefghi";
String s1="fgh";
int index= s.indexOf(s1);

以上是关于怎么找到一个字符串中特定字符的位置的主要内容,如果未能解决你的问题,请参考以下文章

怎么用C语言对文件操作用特定内容替换其中某些内容

在字符串中查找特定单词的位置

Java语言中,怎么样查找一个特定的字符串,并返回它的索引位置

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

JAVA字符串中取特定字符的位置

ubuntu中在终端下如何查找具有某一特定字符串的文件?