在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);
}