Java 读取文件时特定位置特定字符的索引

Java 读取文件时特定位置特定字符的索引,java,Java,在读取文件后使用indexOf,如何只为单词前后的特定字符编码indexOf 比如说 “比利” 单引号:2 比利 单引号:0 我的代码 if ( 0 <= name.indexOf("'")){ singleQuotes++; if(0您可以使用正则表达式。您需要的表达式如下所示: (^|\s)'|'(\s|$) Pattern p = Pattern.compile("(^|\\s)'|'(\\s|$)"); Matcher m = p.matcher("quick

在读取文件后使用indexOf,如何只为单词前后的特定字符编码indexOf

比如说

“比利”

单引号:2

比利

单引号:0

我的代码

if ( 0 <= name.indexOf("'")){
        singleQuotes++;

if(0您可以使用正则表达式。您需要的表达式如下所示:

(^|\s)'|'(\s|$)

Pattern p = Pattern.compile("(^|\\s)'|'(\\s|$)");
Matcher m = p.matcher("quick 'brown' fox jump's over 'the' lazy dog");
int cnt = 0;
while(m.find()) {
    cnt++;
}
System.out.println(cnt);

这将打印出
4

如果您不想使用
regex
,则可以编写如下内容:

    String myString = "quick 'brown' fox jump's over 'the' lazy dog";
    int count = 0;

    String[] words = myString.split(" ");
    for(int i=0; i <words.length; i++){
        if(words[i].charAt(0) == '\'' ){
            count++;
        }
        if(words[i].charAt(words[i].length()-1) == '\'' ){
            count++;
        }
    }
    System.out.println(count);
String myString=“快速‘棕色’狐狸跳跃越过‘懒狗’;
整数计数=0;
String[]words=myString.split(“”);

对于(int i=0;i),您不能。这不是
indexOf()
所做的。您可能需要使用正则表达式,或者手动检查继续或后续索引中的空格。