如何删除用户选择的字符串中的第一个空白后的所有内容?我正在阅读这how to remove some words from a string in java。这可以帮助我在我的情况?删除第一个空白后的每个字符串的内容
回答
假设字符串的开头没有空格。 请按照下列步骤操作 -
- 拆分字符串的空格。它会创建一个数组。
- 获取该数组的第一个元素。
希望这会有所帮助。
str = "Example string"
String[] _arr = str.split("\\s");
String word = _arr[0];
在开始考虑上述代码之前,您需要在开始时考虑多个空格和空格。
我不是原生的JAVA编程,但有一个想法,它有字符串分裂功能。 而你在问题中引用的参考文献有点复杂,而你可以很容易地达到想要的结果。
P.S.未来,如果你想要得到两个或三个字,分裂方法会更好(假设你已经处理了多个空格),否则子字符串会更好。
// Taking 'str' as your string
// To remove the first space(s) of the string,
str = str.trim();
int index = str.indexOf(" ");
String word = str.substring(0, index);
这只是许多方法之一。
str = str.replaceAll("\\s+", " "); // This replaces one or more spaces with one space
String[] words = str.split("\\s");
String first = words[0];
可以使用replaceAll
用正则表达式\s.*
每一件事空间匹配后其中:
String str = "Hello java word!";
str = str.replaceAll("\\s.*", "");
输出
Hello
regex demo
像@Coffeehouse编码器在评论中提到,如果输入以空格开始,此解决方案将取代所有的东西,所以如果您想避免这种情况,您可以使用string.trim()
修剪输入,以便它可以删除开始和结束处的空格结束。
不要忘记修剪字符串。 –
@CoffeehouseCoder不需要,因为空间也将被替换:) –
如果有的话,在起始处的空间呢? –
在我看来,最简单的解决方案是找到用户希望将其切断的索引,然后从0到他们想要的索引调用substring()方法。将那个=设置为一个新的字符串,你有他们想要的字符串。
如果要替换字符串,只需将原始字符串=设置为substring()方法的结果即可。
链接子()方法:https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int,%20int)
找到子字符串,然后获取子字符串?这种方法可能比分裂更快。 –
我认为应该是。它几乎不需要解析能量并使用一种方法。分裂需要更多的时间和空间。 – RostSunshine
拆分将有助于在需要的情况下获取两个单词。所以分割比你现在的方法更灵活。 –
一个简单的方法做到这一点可能是:
System.out.println("Hello world!".split(" ")[0]);
智能和懒惰的方式...程序员的方式... –
已经有5个完美的答案,所以我要补充的第六个。变化是生活的调味品!
private static final Pattern FIRST_WORD = Pattern.compile("\\S+");
public static String firstWord(CharSequence text) {
Matcher m = FIRST_WORD.matcher(text);
return m.find() ? m.group() : "";
}
优势在.split(...)[0]
型答案:
它直接不正是被要求,即“找到非空格字符的第一个序列。”所以自我文档更加明确。
由于正则表达式只编译一次,因此在多个字符串上调用时(例如,批量处理大量字符串)效率更高。
它更节省空间,因为它避免了在我们只需要第一个时就不必要地创建一个引用每个单词的整个数组。
它不需要修剪字符串。
(我知道这可能是太晚而没有任何用途的OP,但我在这里把它当作对未来的读者的替代解决方案。)
- 1. Bash在第一个字符串后删除每个出现的内容
- 2. 删除sql第一个空白后的所有内容
- 3. 删除在一个字符串的第一个字符离开空白
- 4. Bash删除每行之前的第一个空白的所有内容
- 5. 的NSString - 删除最后一个空白后的所有字符
- 6. 删除数组中的第一个空白后的所有内容
- 7. 删除一个字符串的内容,包括一个特定的字词后
- 8. 删除第一个/包括第一个/每行后的所有内容
- 9. 删除字符串中最后一个空格后的最后一个字符
- 10. 删除一个字符串中的新行后的空白空间mysql
- 11. 除字符串中第一个字符外的全部内容
- 12. 删除字符串中的最后一个字符和第一个字符
- 13. 如何删除vim中每行的第一个字符串?
- 14. 字符串文件的Xcode - 删除第一和最后一个“+;
- 15. 删除第一个字后的所有内容JS
- 16. 删除字符串的3个第一个字符
- 17. 红宝石在第一个空格后删除所有内容
- 18. SQL删除每个缩写字符串,直到一个空格
- 19. 使用Haskell删除字符串中的第一个空格
- 20. 如何删除字符串的第一个空格
- 21. Powershell - 搜索字符串,删除多余的空白,打印第二个字段
- 22. 删除空格在每一个地方的字符串蟒蛇
- 23. 删除第4个空格后的字符串的所有字符
- 24. 删除字符串中的每个第n个元素
- 25. F# - 删除字符串中的第一个字符后的重复字符
- 26. 通过第一个和最后一个字符删除一部分字符串?
- 27. 删除名称列表中的第一个字符后的所有内容
- 28. 如何删除最后一个空白字符就行了
- 29. 删除Tcl中的字符串中的某个字符后的所有内容
- 30. 从txt文件的每一行删除第一个和最后一个字符
通过“空的空间”你刚是指空格字符还是其他空格? –
你的意思是从字符串中提取第一个单词吗? –