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

时间:2013-12-07 16:47:07

标签: java string

我需要获取具有以下数据的String,例如:hello (world)。我的计划是,我将让程序将单个字母添加到另一个字符串,并测试第二个字符串并查看它是否(。然后,如果它,它将开始将字母添加到第三个字符串,直到它找到)。这是我的想法,如何将括号中的任何内容转换为其他String。问题是,我不知道该怎么做。我仍然是Java的新手,我不知道你可以用Strings做很多更高级的事情。因此,如果任何人有任何想法,或者教程解释一些可以帮助我的代码,我们将不胜感激。

5 个答案:

答案 0 :(得分:2)

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

String s = "Hello (world)";
String s2 = s.substring(s.indexOf('(')+1, s.indexOf(')'));

s2的值现在应为world

答案 1 :(得分:0)

  • 利用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); 
    

答案 2 :(得分:0)

String.indexOf("(");

将返回(的第一次出现的索引。

如果您拥有的数据总是如此,那么您可以使用substring()来接收所需的字符串,因为数据以)结尾。

String s = "hello (world)";
String wanted = s.substring(s.indexOf("("), s.length);

应该诀窍。

答案 3 :(得分:0)

您可以在String类here上找到文档。这应该足以帮助您找出可用的内容,但如果您需要一些帮助方法,请考虑使用Apache Common Lang StringUtils进行添加。

答案 4 :(得分:0)

可能想使用正则表达式:

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中使用Regex的许多示例:http://www.tutorialspoint.com/java/java_regular_expressions.htm