- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有以下字符串:
String str = "\nHERE\n\nTHERE\n\nEVERYWHERE\n\n";
如果你只是打印这个,它会像这样输出(当然 \n
不会“字面上”打印):
\n
HERE\n
\n
THERE\n
\n
EVERYWHERE\n
\n
\n
当我调用方法 split("\n")
时,我想获取新行 (\n
) 字符之间的所有字符串,甚至是空字符串结束。
例如,如果我今天这样做:
String strArray[] = str.split("\n");
System.out.println("strArray.length - " + strArray.length);
for(int i = 0; i < strArray.length; i++)
System.out.println("strArray[" + i + "] - \"" + strArray[i] + "\"");
我希望它像这样打印出来(输出 A):
strArray.length - 8
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
strArray[6] - ""
strArray[7] - ""
目前,它会这样打印(输出 B),并且会跳过任何结尾的空字符串:
strArray.length - 6
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
如何使 split()
方法包含输出 A 中的空字符串?当然,我可以编写一段多行代码,但想知道,在我浪费时间尝试实现它之前,是否有一个简单的方法或额外的两行左右的代码可以帮助我。谢谢!
最佳答案
使用 str.split("\n", -1)
(带有负的 limit
参数)。当 split
被赋予零或没有 limit
参数时,它会丢弃尾随的空字段,而当它被赋予正 limit
参数时,它会限制字段的数量到那个数字,但是 negative 限制意味着允许任意数量的字段并且不丢弃尾随的空字段。这已记录在 here并且行为取自 Perl。
关于Java:字符串拆分():我希望它在末尾包含空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13939675/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!