说您有以下字符串:
cat dog fish dog fish cat
要替换所有cats
带dogs
,都dogs
具有fish
,和所有fish
带cats
。直观地,预期结果:
dog fish cat fish cat dog
如果您尝试使用显而易见的解决方案,并通过进行遍历replaceAll()
,则会得到:
cat dog fish dog fish cat
dog dog fish dog fish dog
fish fish fish fish fish fish
cat cat cat cat cat cat
显然,这不是预期的结果。那么最简单的方法是什么?我可以Pattern
和and Matcher
(以及很多Pattern.quote()
and
Matcher.quoteReplacement()
)一起拼凑一些东西,但是我拒绝相信我是第一个遇到这个问题的人,并且没有库函数可以解决它。
(FWIW,实际情况有点复杂,不涉及直接交换。)
似乎Apache
Commons中的StringUtils.replaceEach可以满足您的要求:
StringUtils.replaceEach("abcdeab", new String[]{"ab", "cd"}, new String[]{"cd", "ab"});
// returns "cdabecd"
请注意,以上链接中的文档似乎有误。有关详细信息,请参见下面的评论。
我试图开发一个由多个数组和文本视图组成的应用程序,我遇到了一个问题。 我有3个文本视图和2个数组。 我的一个数组包含句子。我的第一个问题是如何突出每个句子中的特定单词?例如:“这是我的第一个数组项”,我需要突出显示字符串中的一个单词,这样当它显示在文本视图1中时,它就会像这样出现..."这是我的第一个数组物品" 我的另一个数组包含单词。它们显示在textview2中,也应高亮显示。我的下一个问题是
问题内容: 我有一个名为log.txt的文本文件,它具有以下数据 第一个逗号之前的数字是指定每个项目的索引。 我想做的是读取文件,然后将给定行中字符串的一部分(例如textFiles / a.txt)替换为另一值(例如something / bob.txt)。 这就是我到目前为止 问题答案: 一种方法是使用: 您还可以使用正则表达式,或查找搜索字符串在一行中的何处。
问题内容: 在表的一个特定字段中将进行文本搜索和替换的是哪种MySQL查询? 即搜索并替换为具有值的字段的记录变为。 问题答案: 更改并匹配您的表名和相关字段: 替换(字符串函数) INSTR(字符串函数)
我想在文本文件中用新的英文字符替换突厥语字符{code>{c',c',I',I',G',G',S',S}。 这是我的密码。我在控制台上只获得原始内容,没有任何更改,也不会创建新文件。 编辑: 这是适用于我的新代码。但是我想使用一个较短的代码来替换方法。
问题内容: 如何使用Python 3搜索和替换文件中的文本? 这是我的代码: 输入文件: 当我在上面的输入文件中搜索并将“ ram”替换为“ abcd”时,它起了一种魅力。但是,反之亦然,即用“ ram”替换“ abcd”时,一些垃圾字符会保留在末尾。 用“ ram”代替“ abcd” 问题答案: fileinput已经支持就地编辑。stdout在这种情况下,它将重定向到文件:
我有一个文件,其中包含以下格式的正则表达式和替换文字字符串列表: 我想替换所有匹配的字符串与在多个文件。 我相信这是一个常见的问题,以前应该有人做过类似的事情,但我就是找不到用bash编写的现有解决方案。 例如: 输入: 预期产出: 主要挑战是: 要替换的字符串由POSIX扩展正则表达式描述,而不是文字,任何不是POSIX ERE元字符的字符,包括经常被一些工具用作regexp分隔符的,都必须被视