How to split a sentence into two parts in JAVA? If there is the following
String sentence = "I love Java <=> I love Python"
How can I return I love Java
and I love Python
thus separately ignoring <=>
?
public void changeSentence(String line)
{
String[] words = line.split(" ");
for(int i = 0; i < words.length; i++)
{
if(!(words[i].equals("<=>")))
{
}
}
}
It can be done using the method given below of class String
METHOD: (public String[] split(String regex, int limit)
public class TestSplit
{
public static void main(String args[])
{
String str = new String("I Love Java <=> I Love Python");
for (String retval: str.split("<=> ",2))
{
System.out.println(retval);
}
}
}
Output:
I Love Java
I Love Python
There are some other facts I am aware about are listed below
public class TestSplit
{
public static void main(String args[])
{
String str = new String("I Love Java <=> I Love Python <=> I Love Stackoverflow");
for (String retval: str.split("<=> "))
{
System.out.println(retval);
}
}
}
Output:
I Love Java
I Love Python
I Love Stackoverflow
Why not do:
String[] words = line.split("<=>");
for(String word : words){
System.out.println(word);
}
Output:
I love Java
I love Python
public String[] changeSentence(String line){
String[] substrings = line.split("<=>");
return substrings;
}
You can also split with StringTokenizer.
The code for splitting the strings based upon delimiter is below:
StringTokenizer stringTokenizer = new StringTokenizer(sentence,"<=>");
while(stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
}
I hope this helps
Thanks
How can I return I love Java and I love Python thus separately ignoring <=>?
First of all as you have said that you want your method to return separate words (Strings technically), for that you need change your return type from void to String[ ]
Second, you are using String[] words = line.split(" ");
this will split the String where spaces appear which would yield you array of Strings containing
I
love
Java
<=>
I
love
Python
as different words stored as separate Strings
in your words
array.
so what you should do is Strings[] words=line.split("<=>");
and return words
Full code should be like this
public String[] changeSentence(String line)
{
String[] words = line.split("<=>");
return words;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.