实际上这是一个非常简单的问题,我尝试了很多,但我无法得到确切的解决方案。我有一个字符串:
String mystring = "one<1234567>,two<98765432>,three<878897656>";
在这里,我想要"<"
和">"
内的数据。任何人都可以帮我这个吗?
答案 0 :(得分:2)
我会使用正则表达式
String str = "one<1234567>,two<98765432>,three<878897656>";
Matcher m = Pattern.compile("<(.+?)>").matcher(str);
while(m.find()) {
String v = m.group(1);
}
答案 1 :(得分:1)
尝试
String mystring = "one<1234567>,two<98765432>,three<878897656>";
String[] result = mystring.split(",");
for (String s : result) {
s = s.substring(s.indexOf("<")+1);
s = s.substring(0, s.indexOf(">"));
System.out.println(s);
}
打印结果:
1234567
98765432
878897656
答案 2 :(得分:0)
您可以使用<(.*?)>
这样的正则表达式:
String mystring = "one<1234567>,two<98765432>,three<878897656>";
Pattern pattern = Pattern.compile("<(.*?)>");
Matcher matcher = pattern.matcher(mystring);
while (matcher.find())
{
System.out.println(matcher.group(1));
}
答案 3 :(得分:0)
试试这个
String mystring = "one<1234567>,two<98765432>,three<878897656>";
String[] a = myString.split(",");
for(int i = 0; i < a.length; i++){
String substr=a[i].subString(a[i].indexOf("<"),a[i].indexOf(">"));
System.out.println(substr);
}
答案 4 :(得分:0)
如果您的内括号值始终为数字且在字母外,即&lt;,&gt;
,请尝试String[] strings=mystring.replaceAll("[a-z<>]", "").split(",");
for(String string:stringsArray)
{
System.out.println(string);
}
答案 5 :(得分:0)
我从StringTokenizer
类
你可以用它作为,
StringTokenizer tokens = new StringTokenizer(KEY_SUBFOLDERNAME, ".");
String first_string = tokens.nextToken();
File_Ext = tokens.nextToken();
System.out.println("First_string : "+first_string);
System.out.println("File_Ext : "+File_Ext);