我认为正则表达式可以帮助我。
假设我有字符串What is foo. Where is foo. How is foo. Why foo? When foo? together foo. lol foo
如何在每个foo
之前删除空格?
答案 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");
您可以轻松地将其应用于任何事物。
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