How to split a sentence into two parts

后端 未结 5 1306
半阙折子戏
半阙折子戏 2021-01-21 20:29

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

相关标签:
5条回答
  • 2021-01-21 21:00

    public String[] changeSentence(String line){
    String[] substrings = line.split("<=>");
    return substrings;
    }

    0 讨论(0)
  • 2021-01-21 21:00

    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

    0 讨论(0)
  • 2021-01-21 21:07

    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;
    }
    
    0 讨论(0)
  • 2021-01-21 21:08

    Why not do:

    String[] words = line.split("<=>");
    for(String word : words){
            System.out.println(word); 
    }
    

    Output:

    I love Java

    I love Python

    0 讨论(0)
  • 2021-01-21 21:12

    It can be done using the method given below of class String

    METHOD: (public String[] split(String regex, int limit)
    
    • Regex: The String/Character you wish to remove & split remaining text
    • Limit: How many String that should be returned
    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

    • If you won't specify limit by 'keeping it blank'/'specify 0' then the compiler will split string every time '<=>' is found e.g.
    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

    0 讨论(0)
提交回复
热议问题