如何用正则表达式通过第一个出现的字符进行拆分?
C#.NET,比如正则表达式"[\u7BC7]+",匹配所有含“篇”的字符串,vararray=Regex.Split("第一篇第二篇第三篇第四篇","[\u7BC7]+...
C#.NET,比如正则表达式"[\u7BC7]+",匹配所有含“篇”的字符串,var array=Regex.Split("第一篇第二篇第三篇第四篇", "[\u7BC7]+"),拆分出来的array数组有四组,其实我只想要第一个“篇”拆分出来要两组,如何实现?
展开
2个回答
展开全部
在C#中用string类的indexOf和substring函数就可以实现你的要求。
我给你个Java程序的例子,你看看吧。
public class KK {
public static void main(String[] args) {
String s="第一篇第二篇第三篇第四篇";
String regex="\u7BC7";
String s1=s.substring(0,s.indexOf(regex)+1);
String s2=s.substring(s.indexOf(regex)+1);
System.out.println(s1);
System.out.println(s2);
}
}
运行结果:
第一篇
第二篇第三篇第四篇
更多追问追答
追问
只想用正则表达式,想一步到位
追答
用正则表达式比上面的方法麻烦,并且运行速度慢,你要非用正则表达式,不知下面这样的Java程序得到的结果,行不行。
public class KK {
public static void main(String[] args) {
String s="第一篇第二篇第三篇第四篇";
String regex="[\u7BC7]+";
String[]str=s.split(regex);
String s1=str[0]+"\u7BC7";
String s2="";
for(int i=1;i<str.length;i++)
s2=s2+str[i]+"\u7BC7";
System.out.println(s1);
System.out.println(s2);
}
}
运行结果:
第一篇
第二篇第三篇第四篇
展开全部
function split_first(stra,strb){
let temptel =stra;
let reg0 = new RegExp("([^"+strb+"]+)"+strb+".*");
let str1 = temptel.replace(reg0, "$1");
let reg1 = new RegExp(str1+strb+"(\\S*)");
let str2 = temptel.match(reg1)[1];
return [str1,str2]
}
js写的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询