java 读取读取指定字符的前一字符

Posted

tags:

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

在一个文本文件中,关键字假设为abc,并且从abc开始到行末还存在bcd,
读出这样的行,并且读出abc的前一个字符。读出这样的行已经实现,关键是前一个字符。

参考技术A //str 源字符串
//ch 指定字符串
public static String getBeforeChar(String str, String ch)

int index;
index = str.indexOf(ch); //获取指定字符串起始位置
return str.substring(1,index - 1); 从源字符串中获取指定字符串前的字符串
//如果要从源字符串中获取指定字符串前一个字符可以改成
return str.substring(index - 2,index - 1);


这样写比较灵活。
参考技术B public char getPreviousChar(String string,char aChar)
for(int i=0;i<string.length();i++)
if(string.charAt(i)==aChar&&i>0)
return string.charAt(i-1);//返回前一个字符


return null;//没有查到返回空

调用这个方法就可以了。追问

不是开始就是关键字,而且肯定不是。

追答

说的模糊啊,没理解到底要实现什么功能。上面的函数能够查找一行中关键字的前一个字符啊,当然关键字如果在第一位,会返回为空。你自己说了读取包含“abcXXXXXXbcd”这样的行已经实现,那么你只需要把读取的这一行(假设这一很的内容是“hijkabcXXXXXXbcd”)传入到上面的函数进行查找,假设你的指定字符就是“a”,函数就会返回K。

追问

明白了。我犯2了。多谢。。

本回答被提问者和网友采纳
参考技术C 得到指定字符的下标 然后 将下标减一 就能得到字符串的前一个字符了 参考技术D String s = "1234tgasdfsdf";
String[] sarray = s.split("要切分的制定字符");
if(sarray!=null)
sarray[0].charAt(sarray[0].length()-1);//这个值
第5个回答  2012-09-25 可以根据符号分割一下,然后再截取读取

以上是关于java 读取读取指定字符的前一字符的主要内容,如果未能解决你的问题,请参考以下文章

Python3基础 read 方法 读取指定txt文件的前几个字符

使用 Java 扫描器读取文件

java中有啥方法可以读取占位符的字符串,并且把占位符替换成参数

java中有啥方法可以读取占位符的字符串,并且把占位符替换成参数

文件操作

c语言:文件操作与字符处理