草庐IT

ReplaceAll

全部标签

java - 为什么 String.replaceAll() 在 Java 8 和 Java 9 中的工作方式不同?

为什么这段代码在java-8中输出02但o2在java-9或以上?"o2".replaceAll("([oO])([^[0-9-]])","0$2") 最佳答案 很可能是由于JDK-6609854和JDK-8189343它报告了负嵌套字符类处理(在您的示例中[^[0-9-]])。此行为已在9和10中修复,但未向后移植到8。Java8的错误解释为:InJava,thenegationdoesnotapplytoanythingappearinginnested[brackets]So[^c]doesnotmatch"c",asyouw

Java String 类 replaceAll 方法丢失

我现在遇到一个非常奇怪的问题,String对象中缺少replaceAll方法。JDK版本:1.8.0AndroidStudio版本:3.1.3Kotlin版本:1.2Ithasn'tbeenremoved,那么这里发生了什么?? 最佳答案 您只需使用replace即可完成此操作在Kotlin:"fooandfoo".replace("foo","bar")//"barandbar"请注意,上面的调用会替换文字字符串,如果您需要Regex作为第一个参数,您可以执行以下任一操作:"fooandbar".replace("[abcd]".

java - 没有 RegEx 的 String.replaceAll

我想替换字符串中子字符串的所有实例,但String.replaceAll()只接受一个模式。我来自上一场比赛的字符串。是否可以向我拥有的模式添加转义,或者在另一个接受文字字符串而不是模式的类中是否有replaceAll()的版本? 最佳答案 只需使用String.replace(CharSequence,CharSequence)而不是replaceAll.注意:replace不只是替换第一个匹配项,它会替换all个匹配项,例如replaceAll。 关于java-没有RegEx的Str

java - java中的ruby gsub函数,可能是replaceAll?

我一直在努力翻译这个funcFormat=funcFormat.gsub(/sqrt\((.*)\)/,'Math.sqrt(\1)')Java中的这个funcFormat=funcFormat.replaceAll("sqrt((.*))","Math.sqrt($1)");或者有什么方法可以将数学格式化为文本吗?例如:2x^2sqrt(x^3/2)到2xpow2sqrt(xpow3/2)谢谢,顺便说一句,我是这个网站的新人。 最佳答案 您可以使用以下表达式:funcFormat=funcFormat.replaceAll("sq

java - 如何替换 Java 中不可打印的 Unicode 字符?

以下将替换ASCII控制字符([\x00-\x1F\x7F]的简写):my_string.replaceAll("\\p{Cntrl}","?");以下内容将替换所有ASCII不可打印字符([\p{Graph}\x20]的简写),包括重音字符:my_string.replaceAll("[^\\p{Print}]","?");但是,它们都不适用于Unicode字符串。有没有人有从unicode字符串中删除不可打印字符的好方法? 最佳答案 my_string.replaceAll("\\p{C}","?");查看更多关于Unicode

java - 如何替换 Java 中不可打印的 Unicode 字符?

以下将替换ASCII控制字符([\x00-\x1F\x7F]的简写):my_string.replaceAll("\\p{Cntrl}","?");以下内容将替换所有ASCII不可打印字符([\p{Graph}\x20]的简写),包括重音字符:my_string.replaceAll("[^\\p{Print}]","?");但是,它们都不适用于Unicode字符串。有没有人有从unicode字符串中删除不可打印字符的好方法? 最佳答案 my_string.replaceAll("\\p{C}","?");查看更多关于Unicode

java - String.replaceAll 单反斜杠和双反斜杠

我正在尝试将String\something\转换为String\\something\\使用replaceAll,但我不断收到各种错误。我认为这是解决方案:theString.replaceAll("\\","\\\\");但这给出了以下异常(exception):java.util.regex.PatternSyntaxException:Unexpectedinternalerrornearindex1 最佳答案 String#replaceAll()将参数解释为regularexpression.\是String和regex

java - String.replaceAll 单反斜杠和双反斜杠

我正在尝试将String\something\转换为String\\something\\使用replaceAll,但我不断收到各种错误。我认为这是解决方案:theString.replaceAll("\\","\\\\");但这给出了以下异常(exception):java.util.regex.PatternSyntaxException:Unexpectedinternalerrornearindex1 最佳答案 String#replaceAll()将参数解释为regularexpression.\是String和regex

java - String replace() 和 replaceAll() 的区别

java.lang.String的replace()和replaceAll()方法有什么区别,除了以后使用正则表达式?对于简单的替换,例如,将.替换为/,有什么区别吗? 最佳答案 在java.lang.String,replace方法要么采用一对字符,要么采用一对CharSequence(其中String是一个子类,因此它很乐意采用一对String).replace方法将替换所有出现的char或CharSequence。另一方面,replaceFirst和replaceAll的第一个String参数是正则表达式(regex)。使用错

java - String replace() 和 replaceAll() 的区别

java.lang.String的replace()和replaceAll()方法有什么区别,除了以后使用正则表达式?对于简单的替换,例如,将.替换为/,有什么区别吗? 最佳答案 在java.lang.String,replace方法要么采用一对字符,要么采用一对CharSequence(其中String是一个子类,因此它很乐意采用一对String).replace方法将替换所有出现的char或CharSequence。另一方面,replaceFirst和replaceAll的第一个String参数是正则表达式(regex)。使用错