根据java中的多个String拆分String

时间:2014-05-16 04:55:29

标签: java android string

我刚刚开始学习java,所以请不要介意。 我有字符串

String test="John Software_Engineer Kartika QA Xing Project_Manager Mark CEO Celina Assistant_Developer";

我想根据Company={"Software_Engineer", "QA","Project_Manager","CEO ","Assistant_Developer"};

的位置进行拆分

编辑:

如果以上是困难那么可能吗???基于或 {AND,OR)

String value="NA_USA >= 15 AND NA_USA=< 30 OR NA_USA!=80" 
String value1="EUROPE_SPAIN >= 5 OR EUROPE_SPAIN < = 30 "

如何在java中拆分并放入哈希表。最后如何从最终访问它。这不是必要的,但我主要担心的是如何拆分。

下一次编辑:

我从中得到了解决方案,这是最好的想法????

String to="USA AND JAPAN OR SPAIN AND CHINA";
 String [] ind= new String[]{"AND", "OR"};
    for (int hj = 0; hj < ind.length; hj++){
 to=to.replaceAll(ind[hj].toString(), "*");
     }
    System.out.println(" (=to=) "+to); 

     String[] partsparts = to.split("\\*");
    for (int hj1 = 0; hj1 < partsparts.length; hj1++){
     System.out.println(" (=partsparts=) "+partsparts[hj1].toString()); 
     }

 List<String> test1=split(to, '*', 1);
 System.out.println("-str333->"+test1);         

新编辑:

如果我有这种类型的字符串你怎么能分裂:

final String PLAYER = "IF John END IF Football(soccer) END IF Abdul-Jabbar tennis player END IF Karim -1996 * 1974 END IF";

我怎么能这样:String [] data=[John , Football(soccer) ,Abdul-Jabbar tennis player, Karim -1996 * 1974 ]

你有什么想法???

5 个答案:

答案 0 :(得分:1)

这将为您分割字符串并将其存储在字符串数组中(最大大小为50)。

  private static  String[]split = new String[50];
  public static void main(String[] args) {


   String test="John -Software_Engineer Kartika -QA Xing -Project_Manager Mark -CEO Celina -Assistant_Developer";

   for (String retval: test.split("-")){

       int i = 0;
       split[i]=retval;

         System.out.println(split[i]);
         i++;
       }

      }

答案 1 :(得分:1)

您可以使用Name:post和space创建一个字符串。那么很容易获得欲望的价值。

String test="John:Software_Engineer Kartika:QA Xing:Project_Manager"

答案 2 :(得分:1)

我无法发表评论,因为我的声誉较低。因此,我在这里写。

你的第一个字符串拆分问题可以概括为位置字拆分。如果确保您需要所有偶定位置的字符串,您可以先根据空格拆分字符串并拉出所有偶数位置字符串。

关于AND&amp; amp;的第二个问题或拆分,您可以替换所有“AND”&amp; “OR”与单个字符串“”,您可以将输出字符串拆分为单个空格字符串“”。

关于第三个问题,请替换“IF”&amp;单词空格字符串“”的“END”,我不确定你的字符串中是否发生了最后的IF。如果是这样,你可以用空字符串“”替换它,然后根据单个空格字符串“”分割字符串。

首先根据模式对输入字符串进行分类,然后在使用Java之前设计一个算法。

我建议你使用StringBuffer或StringBuilder而不是直接使用String,因为与上面的相比,String Operation的成本很高。

答案 3 :(得分:0)

试试这个

String[] a = test.replaceAll("\\w+ (\\w+)", "$1").split(" ");

这里我们首先用第二个单词替换单词对,然后用空格分割

答案 4 :(得分:0)

您可以选择具有所有位置的集合

Set<String> positions = new HashSet<String>();
        positions.add("Software_Engineer");
        positions.add("QA");
        String test="John Software_Engineer Kartika QA Xing Project_Manager Mark CEO Celina Assistant_Developer";
        List<String> positionsInString = new ArrayList<String>();
        Iterator<String> iterator = positions.iterator();
        while (iterator.hasNext()) {
         String position = (String) iterator.next();
         if(test.contains(position)){
          positionsInString.add(position);
          break;
         }
        }