0

我有一个字符串:

String identifier ="fmt{value}";

现在我需要一种方法来操作这个字符串从标识符中获取两个字符串

String format="fmt";
String value="value";

要操作的任何正则表达式或本机 Java 代码。

4

5 回答 5

1

试试这个,它可能对你有帮助

import java.util.StringTokenizer;

public class Sample {

public static void main(String[] args) {
    String identifier = "fmt{value}";
    StringTokenizer st = new StringTokenizer(identifier, "{}");

    System.out.println("---- Split by {} ------");
    while (st.hasMoreElements()) {
        System.out.println(st.nextElement());
    }
}

}

于 2013-09-23T07:21:17.960 回答
1

尝试使用split()

    String identifier = "fmt{value}";
    String format = identifier.split("\\{")[0];
    String value = identifier.split("\\{")[1].split("\\}")[0];
    System.out.println(format+"      " +value);

输出:

fmt      value
于 2013-09-23T07:21:24.753 回答
1
    String identifier ="fmt{value}";
    String s[] = identifier.split("\\{|\\}");           
    System.out.println(s[0]);
    System.out.println(s[1]);
于 2013-09-23T07:26:01.020 回答
1

尝试这个:

public void testSplit() {
    String identifier ="fmt{value}";
    String[] result = identifier.split("\\{|\\}");
    for(String s: result) {
        System.out.println(s);
    }
}
于 2013-09-23T08:11:19.327 回答
0

是的,您应该可以使用正则表达式来做到这一点。

 Pattern pattern;
 Matcher matcher;
 pattern = Pattern.compile("");//here your regex
 matcher = pattern.matcher(identifier);
 while(matcher.find()) {
     //here your result
 }

玩得开心 :)

于 2013-09-23T07:17:46.640 回答