String Manipulation用于从One String中检索两个字符串

时间:2013-09-23 07:12:56

标签: java regex

我有一个字符串:

String identifier ="fmt{value}";

现在我需要一种方法来操纵这个字符串,从标识符

中获取两个字符串
String format="fmt";
String value="value";

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

5 个答案:

答案 0 :(得分: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());
    }
}

}

答案 1 :(得分: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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

试试这个:

public void testSplit() {
    String identifier ="fmt{value}";
    String[] result = identifier.split("\\{|\\}");
    for(String s: result) {
        System.out.println(s);
    }
}

答案 4 :(得分:0)

是的,您应该能够使用正则表达式。

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

玩得开心:)