我刚刚开始学习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 ]
你有什么想法???
答案 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;
}
}