Tag: 替换

无法正确替换另一个特定字母

我有一个字符串,我想用另一个字符重复特定的字母,我有一个json响应,其中包含用哪个字母替换的字母。 例如,我的字符串是’abh f’和Json from和to将是 – a => bf,b => 423_,h => 2Re,f => ab 这是问题,当替换时,它将首先替换为bf,然后它将替换ab中的b和转换为a(bf)中的b,这将破坏整个想法,我无法带来好处想法,我已经尝试循环抛出字符串中的每个字母但我无法循环抛出json而没有得到OutOfMemory。 有任何想法吗? 这是代码 for (int i = 0; i < m_jArry.length(); i++) { JSONObject jo_inside = m_jArry.getJSONObject(i); String Original = jo_inside.getString("from"); String To = jo_inside.getString("to"); NewText = NewText.replace(" ","$"); NewText = NewText.replace(Original ,To); }

Log4J – 运行时变量替换

Log4J似乎有一个恼人的限制 – 在运行时,变量替换似乎不起作用。 在这个例子中 文件:Log4j.properties file_pattern =%d {ISO8601}%-5p%m%n log4j.rootLogger = DEBUG,FileAppender log4j.appender.FileAppender = org.apache.log4j.FileAppender log4j.appender.FileAppender.layout = org.apache.log4j.PatternLayout log4j.appender.FileAppender.layout.ConversionPattern = $ {file_pattern} log4j.appender.FileAppender.File = log4jtest1.log log4j.appender.FileAppender.Threshold = ERROR log4j.properties文件中配置的FileAppender生成正确的输出: 文件:log4jtest1.log 错误示例错误消息FATAL示例致命消息 如果我尝试在运行时创建FileAppender import org.apache.log4j.FileAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; public class Main { static final Logger logger = Logger.getLogger(Main.class); public static void main(String[] args) throws […]

“\\\\”。replaceAll(“\\\\”,“\\”)抛出java.lang.StringIndexOutOfBoundsException

Java中的以下代码片段: “\\\\”.replaceAll(“\\\\”, “\\”); 抛出exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 1 (NO_SOURCE_FILE:0) replaceAll上的javadoc确实包含了对反斜杠使用的警告,并建议使用Matcher.replaceAll或Matcher.quoteReplacement 。 有没有人知道如何用一个反斜杠替换字符串中所有出现的两个反斜杠? 澄清 上面显示的实际文字只是一个例子,实际的字符串可以在不同的地方出现两次连续的反斜杠。

Apache StringUtils与Java实现的replace()

Java 1.4.2的replace实现和Apache 2.3的实现有什么区别? 是否有性能上升? Java 1.4.2替换 Apache 2.3替换

用字符串中的空字符替换所有非数字

public static String removeNonDigits(final String str) { if (str == null || str.length() == 0) { return “”; } return str.replaceAll(“/[^0-9]/g”, “”); } 这应该只获得数字并返回但不按预期执行! 有什么建议么?

用(\\?)替换问号(?)

我试图定义一个模式来匹配文本与其中的问号(?)。 在正则表达式中,问号被认为是“一次或根本没有”。 那么我可以用(\\?)替换我的文本中的(?)符号来修复模式问题吗? String text = “aaa aspx?pubid=222 zzz”; Pattern p = Pattern.compile( “aspx?pubid=222” ); Matcher m = p.matcher( text ); if ( m.find() ) System.out.print( “Found it.” ); else System.out.print( “Didn’t find it.” ); // Always prints.

Java String.replaceAll正则表达式

我想替换第一个上下文 网络/风格/ clients.html 使用java String.replaceFirst方法,我可以得到: $ {} pageContext.request.contextPath /style/clients.html 我试过了 String test = “web/style/clients.html”.replaceFirst(“^.*?/”, “hello/”); 这给了我: 你好/风格/ clients.html 但是当我这样做的时候 String test = “web/style/clients.html”.replaceFirst(“^.*?/”, “${pageContext.request.contextPath}/”); 给我 java.lang.IllegalArgumentException:非法组引用

Java中的replace()和replaceAll()

以下代码使用Java中String类的replace()方法。 String a = “abc/xyz”; System.out.println(a.replace(“/”, “\\”)); /在给定的String中, a被替换为\ 。 如果我们使用replaceAll()方法,如下所示是同样的错误。 System.out.println(a.replaceAll(“/”, “\\”)); 它会导致抛出exceptionjava.lang.StringIndexOutOfBoundsException 。 它需要两个额外的反斜杠\ ,如下所示,因为replaceAll()使用正则表达式,而不是replace()方法的情况。 System.out.println(a.replaceAll(“/”, “\\\\”)); 唯一的问题是为什么这个方法只使用两个斜杠,如a.replaceAll(“/”, “\\”)抛出java.lang.StringIndexOutOfBoundsException ? 另一方面, split()方法最初发出一个waring Invalid regular expression: Unexpected internal error (我正在使用NetBeans 6.9.1)。 String b=”abc\\xyz”; System.out.println(b.split(“\\”)[0]+b.split(“\\”)[1]); //Issues a warning as specified. 尝试运行此操作会导致抛出exceptionjava.util.regex.PatternSyntaxException 。 因为它使用像replaceAll()这样的正则表达式,所以它需要四个反斜杠。 System.out.println(b.split(“\\\\”)[0]+b.split(“\\\\”)[1]); 为什么a.replaceAll(“/”, “\\\\”); 如前面的情况一样,即使它的模式无效,也不会发出这样的警告或运行时exception?

使用正则表达式从文本中删除连续的重复单词并显示新文本

HY, 我有以下代码: import java.io.*; import java.util.ArrayList; import java.util.Scanner; import java.util.regex.*; / public class RegexSimple4 { public static void main(String[] args) { try { Scanner myfis = new Scanner(new File(“D:\\myfis32.txt”)); ArrayList foundaz = new ArrayList(); ArrayList noduplicates = new ArrayList(); while(myfis.hasNext()) { String line = myfis.nextLine(); String delim = ” “; String [] words = line.split(delim); […]

这个preg_replace的Java等价物是什么?

<?php $str = "word wordword word”; $str = preg_replace(“/word(?!([^)/i”,”repl”,$str); echo $str; # repl repl ?> 来源: http : //pureform.wordpress.com/2008/01/04/matching-a-word-characters-outside-of-html-tags/ 不幸的是,我的项目需要一个仅适用于Java的语义库… //谢谢Celso