草庐IT

java - 模式匹配器与字符串拆分器,我应该使用哪个?

第一次发帖。首先,我知道如何同时使用模式匹配器和字符串拆分器。我的问题是哪个最适合我在示例中使用,为什么?或更好的替代方案的建议。任务:我需要在未知字符串中的两个已知正则表达式之间提取未知名词。我的解决方案:获取名词的开始和结束(来自正则表达式1和2)和用于提取名词的子字符串。Stringline="unknownXoooXNOUNXccccccXunknown";intgoal=12;Stringregexp1="Xo+X";Stringregexp2="Xc+X";我需要在第一个正则表达式之后找到索引位置。我需要在第二个正则表达式之前找到索引位置。A)我可以使用模式匹配器Patte

java - String类中的split方法和Apache StringUtils中的split方法有什么区别?

我正在逐行读取一个文件,并希望根据特定的分隔符拆分每一行。我在String类和StringUtils类中找到了一些可用的选项。所以我的问题是哪个是更好的选择,为什么? 最佳答案 这取决于用例。What'sthedifference?String[]拆分(String正则表达式)String[]results=StringUtils.split(Stringstr,StringseparatorChars)Apacheutilssplit()是null安全的。StringUtils.split(null)将返回null。JDK默认不是

java - 使用 split 返回的数组的第一个元素总是安全的吗?

我很确定答案是肯定的,但我只是想确认,在任何情况下,非空字符串(无论它包含什么)都会返回除作为第一个成员的有效字符串之外的任何内容拆分返回的数组。换句话说。Stringfoo="";//or"something"or"abc"oranyvalidstringatallString[]bar=foo.split(",")[0];我的理解是bar永远不会为null并且赋值行不可能失败。如果在字符串中找不到定界符,它只会返回完整的foo作为返回数组的第一个元素。 最佳答案 不,,ItmayfailArrayIndexOutOfBound如

java - 如何使用 String.split (","导入 CSV 文件,而不会因空白字段而缩短数组?

目前,当我使用String.split(",")逐行导入CSV文件时,如果有一行看起来像"foo,,bar,,fizz,,,"该方法返回一个长度为5的数组,类似于["foo","","bar,"","fizz"]。如何获取返回长度为8的数组的方法["foo","","bar","","fizz,"","",""]? 最佳答案 还有一个overloadofsplit实现了这一点:string.split(",",-1); 关于java-如何使用String.split(","导入CSV文件

java - 将字符串分成两半

我正在制作一个新的转换软件来隐藏消息(为了好玩)。我做了一个二进制和十进制转换类,我的想法是,用户输入字符串,它将所有转换为二进制格式。然后将它分成两半,将一半转换为十进制,然后再次将字符串加在一起,使其成为二进制和十进制的混合体。在其他版本中,我将添加更多转换、更多拆分,并且可能也会转换为语言。我需要将字符串分成两半。到目前为止,这是我的代码::publicray(){Scannerin=newScanner(System.in);while(true){System.out.println("Pleaseinputthetextyouwishtoencode!");System.o

java正则表达式拆分字符串

我有点卡住了,试图想出正则表达式来分解具有以下属性的字符串:由|分隔(管道)字符如果单个值包含管道,则使用\(反斜杠)转义如果单个值以反斜杠结尾,则用反斜杠转义例如,这里有一些我想分解的字符串:One|Two|Three应该产生:["One","Two","Three"]One\|Two\|Three应该产生:["One|Two|Three"]One\\|Two\|Three应该产生:["One\","Two|Three"]现在我怎么能用一个正则表达式把它分开呢?更新:正如你们中的许多人所建议的,这不是正则表达式的良好应用。此外,正则表达式解决方案比仅遍历字符慢几个数量级。我最终遍历了

java - 如何按空格拆分字符串但转义引号内的空格(在 java 中)?

这个问题在这里已经有了答案:SplitstringonspacesinJava,exceptifbetweenquotes(i.e.treat\"helloworld\"asonetoken)[duplicate](1个回答)关闭9年前。我有这样一个字符串:"Videoormovie""parent""Mediaorentertainment""1""1""1""0""0"我想用空格分隔它,但引号内的空格应该被忽略。所以拆分后的字符串应该是:"Videoormovie""parent""Mediaorentertainment""1"...语言是java。

java - 在 Java 中用多个连续逗号拆分字符串

这个问题在这里已经有了答案:Howtosplitacomma-delimitedstringintoanarrayofemptystrings[duplicate](1个回答)关闭8年前。Stringabc="a,b,c,d,,,";String[]arr=abc.split(",");System.out.println(arr.length);输出是4。但显然我的期望是7。这是我的解决方案:Stringabc="a,b,c,d,,,";abc+="\n";String[]arr=abc.split(",");System.out.println(arr.length);为什么会这样

java - 在 Java 中将字符串拆分为 n 个长度的 block

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:SplitstringtoequallengthsubstringsinJava鉴于我有以下实用方法:/***SplitsstringsintochunksofsizechunkSize**@paramsthestringtosplit;mustnotbenull*@paramchunkSizenumberofcharsineachchuck;mustbegreaterthan0*@returnTheoriginalstringinchunks*/publicstaticListsplitInChunks(S

java - 使用下划线作为分隔符在 Java 中拆分字符串

我有以下字符串(字符串的这种格式是通用的)abc_2012-10-18-05-37-23_prasad_hv_Complete我只想提取prasad_hv。我该怎么做?这不是我要对其执行此操作的唯一字符串,因此任何特定于此字符串的内容(例如,检查“prasad_hv”)都无济于事。我尝试使用split和_作为分隔符,但它分开了prasad和hv。请帮忙!附言一般而言,字符串将遵循以下格式string_-----__ 最佳答案 你说Thisformatforthestringisgeneric.然后将拆分后索引为2和3的元素拼接起来: