草庐IT

Java split() 方法最后去除空字符串?

这个问题在这里已经有了答案:JavaStringsplitremovedemptyvalues(5个回答)关闭6年前。查看以下程序。try{for(Stringdata:Files.readAllLines(Paths.get("D:/sample.txt"))){String[]de=data.split(";");System.out.println("Length="+de.length);}}catch(IOExceptione){e.printStackTrace();}示例.txt:1;2;3;4A;B;;a;b;c;输出:Length=4Length=2Length=3为

java - 使用 split ("|"通过管道符号拆分 Java 字符串)

Java官方文档说明:字符串"boo:and:foo",例如,使用这些表达式产生以下结果正则表达式结果:{"boo","and","foo"}"这就是我需要它的工作方式。但是,如果我运行这个:publicstaticvoidmain(String[]args){Stringtest="A|B|C||D";String[]result=test.split("|");for(Strings:result){System.out.println(">"+s+"打印出来:>A|B|C||D这与我的预期相差甚远:>ABCD为什么会这样? 最佳答案

c++ - QString::split() 和 "\r"、 "\n"和 "\r\n"约定

我了解应该使用QString::split从多行QString中获取QStringList。但是,如果我有一个文件并且我不知道它是来自Mac、Windows还是Unix,我不确定QString.split("\n")是否能在所有案例。处理这种情况的最佳方法是什么? 最佳答案 如果可以去掉空行,可以试试:QString.split(QRegExp("[\r\n]"),QString::SkipEmptyParts);只要找到任何换行符(换行符或回车符),就会拆分字符串。任何连续的换行符(例如\r\n\r\n或\n\n)将被视为多个分隔

c++ - QString::split() 和 "\r"、 "\n"和 "\r\n"约定

我了解应该使用QString::split从多行QString中获取QStringList。但是,如果我有一个文件并且我不知道它是来自Mac、Windows还是Unix,我不确定QString.split("\n")是否能在所有案例。处理这种情况的最佳方法是什么? 最佳答案 如果可以去掉空行,可以试试:QString.split(QRegExp("[\r\n]"),QString::SkipEmptyParts);只要找到任何换行符(换行符或回车符),就会拆分字符串。任何连续的换行符(例如\r\n\r\n或\n\n)将被视为多个分隔

Java String split 删除了空值

我正在尝试使用分隔符拆分值。但我发现了令人惊讶的结果Stringdata="5|6|7||8|9||";String[]split=data.split("\\|");System.out.println(split.length);我期望得到8个值。[5,6,7,EMPTY,8,9,EMPTY,EMPTY]但我只得到6个值。任何想法以及如何解决。无论EMPTY值来自任何地方,它都应该在数组中。 最佳答案 split(delimiter)默认从结果数组中删除尾随的空字符串。要关闭此机制,我们需要使用split(delimiter,l

ruby 正则表达式 split 困难,关闭但不完全

我很难在ruby​​中使用正则表达式沿着几个分隔符拆分字符串,这些分隔符是:,/&和这些定界符中的每一个都可以在定界符的两边有任意数量的空格,但每个项目都可以包含一个有效空格。我一直在测试的一个很好的例子是字符串1,2/3and412我想要的是"1,2/3and412".split(regex)=>["1","2","3","412"这几行]我能得到的最接近的是/\s*,|\/|&|and\s*/但这会生成["1","2","3","412"]而不是所需的结果。意识到这非常接近,我可以简单地对每个项目进行所有修剪,但如此接近并且知道它可以完成有点让我发疯。希望有人能帮助我避免疯狂。

ruby-on-rails - 使用 String#split 方法

默认情况下,#split方法的工作方式如下:"id,name,title(first_name,last_name)".split(",")将为您提供以下输出:["id","name","title(first_name","last_name)"]但我想要如下内容:["id","name","title(first_name,last_name)"]因此,我使用以下正则表达式(来自thisanswer)使用split获得所需的输出:"id,name,title(first_name,last_name)".split(/,(?![^(]*\))/)但是,当我再次使用另一个字符串时,这

ruby - String#split 奇怪的行为

这个问题在这里已经有了答案:HowdoIavoidtrailingemptyitemsbeingremovedwhensplittingstrings?(1个回答)Emptystringsatthebeginningandendofsplit[duplicate](2个答案)关闭9年前。我观察到String上的split方法有一个奇怪的行为。"1..2".split('..')#=>['1','2']"1..2".split('..',2)#=>['1','2']"..2".split('..')#=>['','2']"..2".split('..',2)#=>['','2']一切如预

ruby - `String#split!`的一种实现方式

有时我需要这样的方法,它可以改变它自己对象的类。有String#delete!,#downcase!,#encode!,#gsub!,#strip!、#slice!等。它们都试图更改字符串,但结果类仍然是String。我想要一个方法,可以将String转换为Array。一些方法来做到这一点:irb(main):082:0>str="qwerty"=>"qwerty"irb(main):083:0>str.split!"e"=>["qw","rty"]irb(main):084:0>str=>["qw","rty"]这可能吗?也许一些很酷的日本功夫或丑陋的自行车——我希望看到任何解决方案

ruby - 为什么 String#split ("\n") 和 Array#join (' ' ) 比 String#gsub(/\n/, ' ' ) 更快?

我必须从大量字符串中删除所有换行符。在对string.join("\n").split('')与string.gsub(/\n/,'')进行基准测试时,我发现拆分和join方法要快得多,但很难理解为什么。我不明白如何在每次遇到\n时将字符串拆分为数组元素,然后将数组加入一个新字符串可能比扫描并替换每个\n更快与''。sentence=%q[Sedutperspiciatisundeomnisistenatuserrorsitvoluptatemaccusantiumdoloremquelaudantium,totamremaperiam,eaqueipsaquaeabilloinven