如何用正则表达式 获取字符串第一次出现的位置

String str="1523#dfdf#大叔";如何用正则拆分成 1523,dfdf#大叔
2025-05-18 07:06:48
推荐回答(1个)
回答1:

正则表达式 (?<=[0-9]+)#

我给你一个Java语言的例子,你看看吧

public class A {

 public static void main(String[] args) {

  String str="1523#dfdf#大叔";

  String[] a=str.split("(?<=[0-9]+)#");

  for(int i=0;i
   System.out.println(a[i]);

  }

 }

}

如果你要以第一次井号出现的位置切分,正则表达式是做不到的,不过可以写一段程序实现上述目标.

具体的Java程序如下

public class B {

 public static String[] split(String s, String regex){

  String a[]=new String[2];

  int index=s.indexOf(regex);

  if(index==-1){

   a[0]=s.substring(0,s.length());

  }else{

   if(index!=0)

    a[0]=s.substring(0,index);

   a[1]=s.substring(index+regex.length(),s.length());

  }

  return a;

 }

 public static void main(String[] args) {

  String[] a=split("1523#dfdf#大叔","#");

  for(int i=0;i
   if(a[i]!=null){

    System.out.println(a[i]);

   }

  }

 }

}

运行结果

1523

dfdf#大叔