Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一次传递多个字符串的Java indexOf_Java_Indexof - Fatal编程技术网

一次传递多个字符串的Java indexOf

一次传递多个字符串的Java indexOf,java,indexof,Java,Indexof,有没有一种方法可以在Java中使用indexOf在单个解析中找到给定文本中多个字符串的位置 比如说,, 我想在一次文本解析中对“you”和“meeting”进行索引 “你今天能参加会议吗?” 任何帮助都将不胜感激!提前谢谢你回答这个问题:不 但是,您可以将正则表达式与匹配项string.matches(“.*(meeting | today)。*”)一起使用。有关正则表达式的语法,请参见javadoc。如果你只使用字母和数字 您可以从示例中构造模式,但有些字符需要引用\,这样的文本中的\将变成\

有没有一种方法可以在Java中使用indexOf在单个解析中找到给定文本中多个字符串的位置

比如说,, 我想在一次文本解析中对“you”和“meeting”进行索引 “你今天能参加会议吗?”


任何帮助都将不胜感激!提前谢谢你回答这个问题:不

但是,您可以将正则表达式与匹配项string.matches(“.*(meeting | today)。*”)一起使用。有关正则表达式的语法,请参见javadoc。如果你只使用字母和数字
您可以从示例中构造模式,但有些字符需要引用\,这样的文本中的\将变成\。

当您表达问题时:否

但是,您可以将正则表达式与匹配项string.matches(“.*(meeting | today)。*”)一起使用。有关正则表达式的语法,请参见javadoc。如果你只使用字母和数字
您可以从示例中构造模式,但有些字符需要用\引用,这样的文本中的\将变成\。

如果您在文本中搜索某些模式,则使用正则表达式。 在您的情况下,如果您想在给定的文本中查找某些字符串,我将编写一个基本函数:

public static void main(String ... args) {
    String a = "i have a little dog";
    String [] b = new String [] { "have", "dog" }; 
    locateStrings(a,b);
}

public static int [] locateStrings(String source, String [] str) {
    if (source == null || str == null || str.length == 0)
        throw new IllegalArgumentException();
    int [] result = new int [str.length];
    for (int i = 0; i < str.length ; i++) {
        result[i] = source.indexOf(str[i]);
    }
    return result;      
}
publicstaticvoidmain(字符串…参数){
String a=“我有一只小狗”;
字符串[]b=新字符串[]{“have”,“dog”};
定位字符串(a、b);
}
公共静态int[]locateStrings(字符串源,字符串[]str){
if(source==null | | str==null | | str.length==0)
抛出新的IllegalArgumentException();
int[]结果=新的int[str.length];
对于(int i=0;i
如果要在文本中搜索某些模式,请使用正则表达式。 在您的情况下,如果您想在给定的文本中查找某些字符串,我将编写一个基本函数:

public static void main(String ... args) {
    String a = "i have a little dog";
    String [] b = new String [] { "have", "dog" }; 
    locateStrings(a,b);
}

public static int [] locateStrings(String source, String [] str) {
    if (source == null || str == null || str.length == 0)
        throw new IllegalArgumentException();
    int [] result = new int [str.length];
    for (int i = 0; i < str.length ; i++) {
        result[i] = source.indexOf(str[i]);
    }
    return result;      
}
publicstaticvoidmain(字符串…参数){
String a=“我有一只小狗”;
字符串[]b=新字符串[]{“have”,“dog”};
定位字符串(a、b);
}
公共静态int[]locateStrings(字符串源,字符串[]str){
if(source==null | | str==null | | str.length==0)
抛出新的IllegalArgumentException();
int[]结果=新的int[str.length];
对于(int i=0;i
那么,一次解析的答案是什么?正则表达式(如“you.*meeting”)是否足够好,表示表达式从何处开始,从何处结束这个问题是不明确的。您想要每个字符串的位置(返回位置列表/数组),还是任何字符串第一次出现的位置?此外,什么构成“通行证”?通过字符串传递文本?在单个解析中,答案是什么?正则表达式(如“you.*meeting”)是否足够好,表示表达式从何处开始,从何处结束这个问题是不明确的。您想要每个字符串的位置(返回位置列表/数组),还是任何字符串第一次出现的位置?此外,什么构成“通行证”?传递文本还是传递字符串?