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

Stringstr="1523#dfdf#大叔";如何用正则拆分成1523,dfdf#大叔... String str="1523#dfdf#大叔";
如何用正则拆分成 1523,dfdf#大叔
展开
 我来答
紫薇参星
科技发烧友

2019-04-18 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3459万
展开全部

正则表达式 (?<=[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<a.length;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<a.length;i++){

   if(a[i]!=null){

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

   }

  }

 }

}

运行结果

1523

dfdf#大叔

百度网友4c22aae
2019-04-19 · TA获得超过143个赞
知道答主
回答量:81
采纳率:0%
帮助的人:51.4万
展开全部
我好像做不到正则取这玩意。但是可以用java的substring方法来做
java
String s = "1523#dfdf#大叔";
System.out.println(s.substring(0, s.indexOf("#")));
System.out.println(s.substring(s.indexOf("#") + 1));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式