java 一段字符串中,如何得到大括号内的字符
在java中,如何获取到一段文字中,如果包含大括号内的字符。例如:有一段字符为:“今天天{(3)}气不错,阳光挺{(10)}好的····”,如何能把“{(3)},{(10...
在java中,如何获取到一段文字中,如果包含大括号内的字符。例如:有一段字符为:“今天天{(3)}气不错,阳光挺{(10)}好的····”,如何能把“{(3)},{(10)}”找出来。要代码!java的。用正则也可以。在线等
展开
展开全部
Java类实现:
import javax.swing.JOptionPane;
public class PrintBraces {
public static void main(String ag[]){
int fromIndex1=0,fromIndex2=0;
String text=JOptionPane.showInputDialog("Input a text: ");
try{
while(fromIndex1!=-1&&fromIndex2!=-1){
fromIndex1=text.indexOf("{",fromIndex1+1);
fromIndex2=text.indexOf("}",fromIndex2+1);
System.out.println(text.substring(fromIndex1+1, fromIndex2));
}}catch(Exception ep){
}
}
}
正则实现:
(\{[^{}]*\})+
import javax.swing.JOptionPane;
public class PrintBraces {
public static void main(String ag[]){
int fromIndex1=0,fromIndex2=0;
String text=JOptionPane.showInputDialog("Input a text: ");
try{
while(fromIndex1!=-1&&fromIndex2!=-1){
fromIndex1=text.indexOf("{",fromIndex1+1);
fromIndex2=text.indexOf("}",fromIndex2+1);
System.out.println(text.substring(fromIndex1+1, fromIndex2));
}}catch(Exception ep){
}
}
}
正则实现:
(\{[^{}]*\})+
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class aa {
public static void main(String ar[]){
String s ="今天天{(3)}气不错,阳光挺{(10)}好的···";
int a = s.indexOf("{");
int c = s.indexOf("}");
String s2 = s.substring(a,c+1);
String s3 = s.substring(c+1);
int i = s3.indexOf("{");
int j = s3.indexOf("}");
String s4 = s3.substring(i,j+1);
System.out.print(s2+","+s4);
}
}
public static void main(String ar[]){
String s ="今天天{(3)}气不错,阳光挺{(10)}好的···";
int a = s.indexOf("{");
int c = s.indexOf("}");
String s2 = s.substring(a,c+1);
String s3 = s.substring(c+1);
int i = s3.indexOf("{");
int j = s3.indexOf("}");
String s4 = s3.substring(i,j+1);
System.out.print(s2+","+s4);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-12-31
展开全部
public class X{
static public void main(String[] tepm){
String str="今天天{(3)}气不错,阳光挺{(10)}好的····',如何能把'{(3)},{(10)}........$FD........{12}";
String p1="\\{[^\\{\\}]{1,}\\}";//没有确定{后面一定是(
String p2="\\{\\([^\\{\\}}]{1,}\\)\\}";//确定{后面一定是(
Pattern p=Pattern.compile(p1);
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
}
result:
{(3)}
{(10)}
{(3)}
{(10)}
{12}
static public void main(String[] tepm){
String str="今天天{(3)}气不错,阳光挺{(10)}好的····',如何能把'{(3)},{(10)}........$FD........{12}";
String p1="\\{[^\\{\\}]{1,}\\}";//没有确定{后面一定是(
String p2="\\{\\([^\\{\\}}]{1,}\\)\\}";//确定{后面一定是(
Pattern p=Pattern.compile(p1);
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
}
result:
{(3)}
{(10)}
{(3)}
{(10)}
{12}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这是用正则表达式实现的:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String text = "“今天天{(3)}气不错,阳光挺{(10)}好的····”";
Pattern p = Pattern.compile(".+?(\\{.+?\\})");
Matcher m = p.matcher(text);
while(m.find()) {
System.out.println(m.group(1));
}
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String text = "“今天天{(3)}气不错,阳光挺{(10)}好的····”";
Pattern p = Pattern.compile(".+?(\\{.+?\\})");
Matcher m = p.matcher(text);
while(m.find()) {
System.out.println(m.group(1));
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询