当前位置: 首页 > 知识库问答 >
问题:

拆分由'['和']'分隔的字符串[重复]

胡天佑
2023-03-14

我在文件上写了一些样本数据。数据的格式如下-

[Peter Jackson] [UK] [United Kingdom] [London]....

我必须提取由“[”和“]”分隔的信息。所以我发现-

Peter Jackson  
UK  
United Kingdom  
London  
...
...

我不太熟悉字符串拆分。我只知道当字符串仅由一个字符分隔时(例如-string1-string2-string3-…)如何拆分字符串。

共有3个答案

凤高澹
2023-03-14

每个项目是否用空格分隔?如果是这样,可以用“\]\[”拆分,然后替换所有剩余的括号:

    String vals = "[Peter Jackson] [UK] [United Kingdom] [London]";
    String[] list = vals.split("\\] \\[");
    for(String str : list){
        str = str.replaceAll("\\[", "").replaceAll("\\]", "");
        System.out.println(str); 
    }

或者,如果你想避免循环,你可以用一个子串删除开始和结束括号,然后用“\\]\\[”分开:

    String vals = " [Peter Jackson] [UK] [United Kingdom] [London] ";
    vals = vals.trim(); //removes beginning whitspace
    vals = vals.substring(1,vals.length()-1); // removes beginning and ending bracket
    String[] list = vals.split("\\] \\[");
江光明
2023-03-14

你可以使用这个正则表达式

\\[(.+?)\\]

被抓获的团队将拥有你的内容。

抱歉没有添加代码。我不懂java

申高峰
2023-03-14

你应该用正则表达式来做这个。

Pattern p = Pattern.compile("\\[(.*?)\\]");
Matcher results = p.matcher("[Peter Jackson] [UK] [United Kingdom] [London]....");

while (results.find()) {
    System.out.println(results.group(1));
}
 类似资料:
  • 我有一个输入字符串,其中包含由分隔符(| |)分隔的4个ID。我使用的代码如下: 但有些情况下并非所有ID都存在,如: 在上面的场景中,拆分不会分为4个部分,并且无法判断拆分数组中缺少哪个id。 有人可以帮助一个有效的解决方案。

  • 如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(

  • 我是 Perl 的新手,但根据我阅读的文档,看起来 Perl 中的 split 函数要求正则表达式模式而不是字符串分隔符作为第一个参数,但我发现使用 之类的东西仍然可以正确拆分字符串。 基于此,我尝试使用可变分隔符(例如。< code>print (split($var,$ string))[0] where < code > $ var = ' ' )并发现它不起作用。我做错了什么? 谢谢! 编

  • 问题内容: 一些外部数据供应商希望给我一个数据字段-管道分隔的字符串值,我觉得这很难处理。 没有应用程序编程语言的帮助,有没有办法将字符串值转换为行? 但是,存在一个困难,该字段具有未知数量的定界元素。 有问题的数据库引擎是MySQL。 例如: 问题答案: 它可能没有我最初想象的那么困难。 这是一种通用方法: 计算分隔符的出现次数 循环多次,每次获取一个新的定界值并将该值插入第二个表中。

  • 在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如: