在java中从指定模式前后的字符串中提取子字符串
我想从字符串中提取满足所需部分前后特定模式的部分:
例如:
String [] s1 = my name is ankit kapoor , my name is mayank gupta , my name is preeti singh ;
这里我只需要名字,即ankit,mayank,preeti i、 e在第一个空格出现之后和之前
我现在使用的代码是
String [] final_reult = s1[i].substring((s1.indexof("is")+3) , (s1.lastindexof(" ")));
显然,我在使用循环,即for(int i=o;i<s1.length;i++)
我得到的输出是:ankit kapoor//而不是ankit 马扬克·古普塔//代替马扬克 普里蒂·辛格//代替普里蒂
请帮忙!! 我只想使用这种格式
# 1 楼答案
您可以使用简单的正则表达式轻松完成此操作:
输出:
编辑
如果你想用
substring
来找到名字,你需要模仿regex的功能,即找到第一个模式(“is”),然后沿着String
走,直到找到一个空格输出: