草庐IT

java - Scanner vs. StringTokenizer vs. String.Split

我刚刚了解了Java的Scanner类,现在我想知道它如何与StringTokenizer和String.Split进行比较/竞争。我知道StringTokenizer和String.Split仅适用于字符串,那么我为什么要使用Scanner处理字符串呢?Scanner是否只是为拆分提供一站式购物服务? 最佳答案 它们本质上是类(class)的马。Scanner专为需要解析字符串、提取不同类型数据的情况而设计。它非常灵活,但可以说没有为您提供最简单的API来简单地获取由特定表达式分隔的字符串数组。String.split()和Pat

java - Java 中的 split() 方法不适用于点 (.)

这个问题在这里已经有了答案:HowcanIuse"."asthedelimiterwithString.split()injava[duplicate](8个回答)关闭8年前.我准备了一个简单的代码片段,以便将错误部分与我的Web应用程序分开。publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{System.out.print("\nEnterastring:->");BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

java - Java 中的 split() 方法不适用于点 (.)

这个问题在这里已经有了答案:HowcanIuse"."asthedelimiterwithString.split()injava[duplicate](8个回答)关闭8年前.我准备了一个简单的代码片段,以便将错误部分与我的Web应用程序分开。publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{System.out.print("\nEnterastring:->");BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

java - 使用带有多个分隔符的 String.split()

我需要根据分隔符-和.拆分字符串。以下是我想要的输出。AA.BB-CC-DD.zip->AABBCCDDzip但我的以下代码不起作用。privatevoidgetId(StringpdfName){String[]tokens=pdfName.split("-\\.");} 最佳答案 我认为您需要包含正则表达式OR运算符:String[]tokens=pdfName.split("-|\\.");你所拥有的将匹配:[DASH后跟DOT一起]-.不是[DASH或DOT中的任何一个]-或.

java - 使用带有多个分隔符的 String.split()

我需要根据分隔符-和.拆分字符串。以下是我想要的输出。AA.BB-CC-DD.zip->AABBCCDDzip但我的以下代码不起作用。privatevoidgetId(StringpdfName){String[]tokens=pdfName.split("-\\.");} 最佳答案 我认为您需要包含正则表达式OR运算符:String[]tokens=pdfName.split("-|\\.");你所拥有的将匹配:[DASH后跟DOT一起]-.不是[DASH或DOT中的任何一个]-或.

java - 如何拆分逗号分隔的字符串?

我有一个长度未知的字符串,看起来像这样"dog,cat,bear,elephant,...,giraffe"用逗号分割这个字符串以便每个单词都可以成为ArrayList的一个元素的最佳方法是什么?例如Liststrings=newArrayList();//Addthedataheresostrings.get(0)wouldbeequalto"dog",//strings.get(1)wouldbeequalto"cat"andsoforth. 最佳答案 你可以这样做:Stringstr="...";ListelephantLis

java - 如何拆分逗号分隔的字符串?

我有一个长度未知的字符串,看起来像这样"dog,cat,bear,elephant,...,giraffe"用逗号分割这个字符串以便每个单词都可以成为ArrayList的一个元素的最佳方法是什么?例如Liststrings=newArrayList();//Addthedataheresostrings.get(0)wouldbeequalto"dog",//strings.get(1)wouldbeequalto"cat"andsoforth. 最佳答案 你可以这样做:Stringstr="...";ListelephantLis

c++ - 为什么在 C++ 中拆分字符串比 Python 慢?

我正在尝试将一些代码从Python转换为C++,以提高一点速度并提高我生疏的C++技能。昨天,当从标准输入读取行的幼稚实现在Python中比C++快得多时,我感到震惊(参见this)。今天,我终于弄清楚了如何在C++中使用合并分隔符拆分字符串(类似于python的split()的语义),我现在正在体验似曾相识的感觉!我的C++代码需要更长的时间才能完成这项工作(尽管没有像昨天类(class)那样多一个数量级)。Python代码:#!/usr/bin/envpythonfrom__future__importprint_functionimporttimeimportsyscount=0

c++ - 为什么在 C++ 中拆分字符串比 Python 慢?

我正在尝试将一些代码从Python转换为C++,以提高一点速度并提高我生疏的C++技能。昨天,当从标准输入读取行的幼稚实现在Python中比C++快得多时,我感到震惊(参见this)。今天,我终于弄清楚了如何在C++中使用合并分隔符拆分字符串(类似于python的split()的语义),我现在正在体验似曾相识的感觉!我的C++代码需要更长的时间才能完成这项工作(尽管没有像昨天类(class)那样多一个数量级)。Python代码:#!/usr/bin/envpythonfrom__future__importprint_functionimporttimeimportsyscount=0

python - 每第n个字符拆分字符串?

是否可以每隔n个字符拆分一个字符串?例如,假设我有一个包含以下内容的字符串:'1234567890'我怎样才能让它看起来像这样:['12','34','56','78','90']对于同一个问题的列表,请参阅HowdoIsplitalistintoequally-sizedchunks?。相同的技术通常适用,但有一些变化。 最佳答案 >>>line='1234567890'>>>n=2>>>[line[i:i+n]foriinrange(0,len(line),n)]['12','34','56','78','90']