簡體   English   中英

如何將句子分為兩部分

[英]How to split a sentence into two parts

如何在JAVA中將句子分為兩部分? 如果有以下情況

String sentence = "I love Java <=> I love Python"

如何返回I love JavaI love Python從而分別忽略<=>

public void changeSentence(String line)
{
    String[] words = line.split(" ");

    for(int i = 0; i < words.length; i++)
    {
        if(!(words[i].equals("<=>")))
        {


        }
    }
}

可以使用下面的類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);
        }


    }
}

輸出:

我愛Java

我愛Python


下面列出了我知道的其他一些事實

  • 如果您不會通過“保持空白” /“指定0”來指定限制,則每次發現“ <=>”時,編譯器都會拆分字符串,例如
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);
        }


    }
}

輸出:

我愛Java

我愛Python

我愛Stackoverflow

為什么不這樣做:

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

輸出:

我愛Java

我愛Python

公共字符串[] changeSentence(字符串行){
String []子字符串= line.split(“ <=>”);
返回子字符串;
}

您也可以使用StringTokenizer進行拆分。

下面是根據定界符分割字符串的代碼:

StringTokenizer stringTokenizer = new StringTokenizer(sentence,"<=>");
        while(stringTokenizer.hasMoreTokens()) {
            System.out.println(stringTokenizer.nextToken());
        }

我希望這有幫助

謝謝

首先,正如您已經說過的那樣,您希望您的方法返回單獨的單詞(技術上來說是字符串),為此您需要將返回類型從void更改為String []

其次,您正在使用String[] words = line.split(" "); where spaces appear which would yield you array of Strings containing 這將在出現空格的地方拆分 ,這將產生包含以下內容的字符串數組

I
love
Java
<=>
I 
love
Python

words數組中存儲為單獨的Strings不同單詞。

因此,您應該做的是Strings[] words=line.split("<=>"); 然后

完整的代碼應該像這樣

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM