在Java中如何将某个单词从一个字符串复制到另一个字符串

在Java中如何将某个单词从一个字符串复制到另一个字符串,java,string,Java,String,我需要以包含以下数据的字符串为例:hello(world)。我的计划是,让程序将单个字母添加到另一个字符串中,并测试第二个字符串,看看它是否有(。然后,如果有,它将开始将字母添加到第三个字符串中,直到找到为止)。这是我关于如何将括号中的内容转换为另一个字符串的想法。问题是,我不知道怎么做。我对Java还是有点陌生,我不知道有多少更高级的东西可以用字符串来做。因此,如果有人有任何想法,或者有一个解释一些代码的教程可以帮助我,我将不胜感激 这可以使用String类中的indexOf()和substr

我需要以包含以下数据的字符串为例:
hello(world)
。我的计划是,让程序将单个字母添加到另一个字符串中,并测试第二个字符串,看看它是否有(。然后,如果有,它将开始将字母添加到第三个字符串中,直到找到为止)。这是我关于如何将括号中的内容转换为另一个字符串的想法。问题是,我不知道怎么做。我对Java还是有点陌生,我不知道有多少更高级的东西可以用字符串来做。因此,如果有人有任何想法,或者有一个解释一些代码的教程可以帮助我,我将不胜感激

这可以使用String类中的
indexOf()
substring()
方法来完成

String s = "Hello (world)";
String s2 = s.substring(s.indexOf('(')+1, s.indexOf(')'));
s2
的值现在应该是
world

  • 使用
    String.indexOf(int-ch,int-fromIndex)
    String.substring(int-beginIndex,int-endIndex)
    函数

  • 使用
    int i=string.indexOf(“(”
    )读取第一个索引,然后使用此索引查找
    括号:

     int i = string.indexOf("(");
     int j = string.indexof(")", i+1);
     String target = string.substring(i+1, j); 
    
将返回第一次出现的
)的索引

如果您拥有的数据总是这样,那么您可以使用substring()来接收想要的字符串,因为数据以
结尾


你可以找到关于String类的文档。这应该足以帮助您找出可用的,但是如果您需要一些帮助方法,考虑使用Apache通用Lang.< /P> < P>添加使用ReGEX:

String myString = "Hello (world)";

Pattern pattern = Pattern.compile("\\((.*)\\)");
Matcher matcher = pattern.matcher(myString);
if (matcher.find()) {
   String newString = matcher.group(1);
   System.out.println(newString);
}
这将打印“世界”


您可以在Internet上获得许多关于如何在Java中使用正则表达式的示例:

查看Java.lang.String的javadoc。它包含有用的方法,如indexOf()和substring()。s.length作为子字符串的结束索引,在他的情况下应该足以获得所需的字符串,如果
出现在
)之前,他必须添加代码来检查它。
如果(s.indexOf('(')>s.indexOf(')
String s = "hello (world)";
String wanted = s.substring(s.indexOf("("), s.length);
String myString = "Hello (world)";

Pattern pattern = Pattern.compile("\\((.*)\\)");
Matcher matcher = pattern.matcher(myString);
if (matcher.find()) {
   String newString = matcher.group(1);
   System.out.println(newString);
}