首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在用特殊符号拆分字符串并将特殊符号包含到第一个子字符串之后,从字符串中获取子字符串?

如何在用特殊符号拆分字符串并将特殊符号包含到第一个子字符串之后,从字符串中获取子字符串?
EN

Stack Overflow用户
提问于 2015-12-16 07:04:26
回答 2查看 55关注 0票数 1

我想用分号将字符串拆分成字符串数组,但是每当它用分号拆分字符串时,我需要将分号添加到第一个拆分字符串中。它正在添加到下一个分裂屏幕。

代码语言:javascript
复制
String sampleContent="hello ; hai ;  come fast ;";
            String SQLScripts[] = sampleContent.split("(?=\\;)",-1);
            System.out.println(" SQLSCript Length is:"+SQLScripts.length);
            for(int m=0;m<SQLScripts.length;m++){
                System.out.println("After SQLScripts spliting with semi colon is : "+SQLScripts[m]);
            }`

我期望的输出是:

代码语言:javascript
复制
 SQLSCript Length is:4
After SQLScripts spliting with semi colon is : hello ;
After SQLScripts spliting with semi colon is : hai ;
After SQLScripts spliting with semi colon is : come fast ;

我得到的输出是:

代码语言:javascript
复制
 SQLSCript Length is:4
After SQLScripts spliting with semi colon is : hello 
After SQLScripts spliting with semi colon is : ; hai 
After SQLScripts spliting with semi colon is : ;  come fast 
After SQLScripts spliting with semi colon is : ;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-16 07:14:28

尝试使用这个正则表达式"(?<=;)",-1,您可以包括;

代码语言:javascript
复制
  public static void main(String[] args) {
    String sampleContent = "hello ; hai ; come fast ;";
    String SQLScripts[] = sampleContent.split("(?<=;)",-1);
    System.out.println("SQLSCript Length is:"+SQLScripts.length);
    for(int m=0;m<SQLScripts.length-1;m++){
        System.out.println("After SQLScripts spliting with semi colon is : "+SQLScripts[m]);
    }
  }

输出:

代码语言:javascript
复制
  SQLSCript Length is:4
  After SQLScripts spliting with semi colon is : hello ;
  After SQLScripts spliting with semi colon is :  hai ;
  After SQLScripts spliting with semi colon is :  come fast ;
票数 1
EN

Stack Overflow用户

发布于 2015-12-16 07:11:19

您可以基于lookbehind使用此正则表达式:

代码语言:javascript
复制
String sampleContent="hello ; hai ;  come fast ;";
String SQLScripts[] = sampleContent.split("(?<=;)\\s+");
System.out.println(" SQLSCript Length is:"+SQLScripts.length);
for(int i=0;i<SQLScripts.length;i++){
    System.out.println("After SQLScripts spliting with semi colon is : "+SQLScripts[i]);
}

输出:

代码语言:javascript
复制
 SQLSCript Length is:3
After SQLScripts spliting with semi colon is : hello ;
After SQLScripts spliting with semi colon is : hai ;
After SQLScripts spliting with semi colon is : come fast ;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34305818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档