【发布时间】:2016-07-19 08:51:22
【问题描述】:
我正在阅读字符串
Is Mississippi a State where there are many systems.
我想用“t”或“T”替换每个单词中的第一个“s”或“S”(即保持相同的大小写)......这样输出是:
It Mitsissippi a Ttate where there are many tystems.
我试过了
s= s.replaceFirst("(?i)S", "t"); [which of course didn't work]
并尝试使用
string [] .split(Pattern.quote("\\s")) 然后试图弄清楚如何 replaceFirst() array 的每个元素,然后 return 将值返回到 string [但无法计算正确的做法]。
我认为\\G 可能有助于重新启动在下一个词,但没有得到任何地方。感谢您使用这 3 种方法的任何帮助。
【问题讨论】:
-
如果只需要替换每部作品中的第一个's'或'S',为什么还要将'Is'替换为'It'?你能纠正一下布局并给出一个或多个清晰的例子吗?
-
在每个 's' 或 'S' 的第一次出现时得到它
-
@Hedgebox 我希望你得到你的答案。但是提供了一种不同的方法来解决您的问题。看我的回答。
-
JavaScript 中的一行代码:
.replace(/(\S*?)([sS])(\S*)/g, (_, $1, $2, $3) => $1 + ($2 == 's' ? 't' : 'T') + $3)