在特定子字符串之前删除空格

时间:2015-05-19 18:41:49

标签: java regex pattern-matching

我认为正则表达式可以帮助我。

假设我有字符串What is foo. Where is foo. How is foo. Why foo? When foo? together foo. lol foo

如何在每个foo之前删除空格?

7 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

public String replaceSpaceBefore( String sentence, String word ) {


     return sentence.replaceAll(" " + word, word);


}

在您的示例中,参数" word"会是"是"和"句子"将是"你的名字是什么"。

答案 1 :(得分:0)

我会尝试用空字符串替换空格或者抓住'What is'并将其作为'Whatis'放入新字符串中。但我之前从未做过Java,所以我不知道它是否和C#一样。

答案 2 :(得分:0)

您需要什么语言?

你可以用“什么”取代每个出现的“什么”而空间消失。您可以通过支持简单替换的每个texteditor实现这一目标。

更新: 在Java中你会这样做:

str = str.replaceAll("What ", "What");

关于'foo'

的更新

您可以轻松地将其应用于任何事物。

String str = "What is foo. Where is foo. How is foo. Why foo? When foo? together foo. lol foo";
str = str.replaceAll(" foo", "foo");
System.out.println(str);

将输出

What isfoo. Where isfoo. How isfoo. Whyfoo? Whenfoo? togetherfoo. lolfoo

答案 3 :(得分:0)

也许你正在寻找这样的东西:

"What is your name".replaceAll("(What) (\\w+)", "$1$2")

“What”后面跟一个空格,后跟一些单词(可以是任何东西,例如你的例子中的“是”), 并用两个连接的单词替换,中间没有空格。

答案 4 :(得分:0)

使用String库。首先找到"你的名字"的位置(字符索引)。从字符串的开头抓取子字符串直到那一点(所以你要留下"什么是")。修剪以删除尾随空格,然后调用String.replace("","")删除两个单词之间的空格。然后无论什么"是什么"是。

答案 5 :(得分:0)

您是否尝试过使用public String replaceFirst(String regex, String replacement)方法?

使用此功能可以执行以下操作:

  

Str.replaceFirst(“\ s”,“”);

答案 6 :(得分:0)

我不确定如何阅读您的问题,但我的解释是删除第一个和第二个单词之间的单个空格。

public class Junk {

    public static void main(String[] args) {
        String[] strings = {
              "What is the name of your cat?",
              "Who are all these people?",
              "How do I code things?",
              "I'm not feeling well.",
              "Don't"
        };

        Junk junk = new Junk();

        for(String s : strings){
            System.out.println(junk.removeSpaceBefore(s));
        }
    }

    public String removeSpaceBefore(String full){
        // Use capturing groups. $1=First group.  $2=Second Group
        return full.replaceFirst("(\\w+)\\s(.+)","$1$2");
    }
}

输出

Whatis the name of your cat?
Whoare all these people?
Howdo I code things?
I'mnot feeling well.
Don't