【发布时间】:2017-03-11 19:17:32
【问题描述】:
什么是正确的方法 - 最佳实践 - 用另一个替换字符串中的单词(字符序列),但保留原始的大小写?具体来说,如果原文全大写,替换词也应该是大写。如果原文全是小写,替换词也应该是小写。如果原文以大写字符开头,其余为小写,则替换词也应为小写。
我目前通过三个条件检查来实现这一点,这对我的目的来说很好。但在我看来,必须有一个更好的“最佳实践”方式,可能但不一定,使用正则表达式。这旨在讨论可能的最佳或更好的实践,以启发现有的最佳实践,而不是请求解决已经解决和实施的琐碎编码问题。
一个具体的例子。在一个可以在多个平台上运行的应用程序中,所有包含“click”的字符串在移动设备上运行时都会被翻译成“tap”,就像“Click”变成“Tap”,“CLICK”变成“TAP”一样。在我自己的例子中,我用一种更通用的方式来做这件事,使用一个单词图及其替换,但这是一个具体的例子。
【问题讨论】:
-
替换文本与原文长度不同的情况怎么办?例如。将“abcDe”替换为“xy”。输出应该是什么?
-
是的,在这种情况下,混合大小写 - 除了第一个字母)不会被考虑,因为这个原因。所以,“abcDe”会变成“xy”,但是“AbcDe”会变成“Xy” 用例子编辑了原文。
-
欢迎来到 Stack Overflow!我们是一个问答网站,而不是一个雇佣编码员的服务。请将您的问题缩小到本网站主题的特定问题。请参阅:Why is "Can someone help me?" not an actual question? 和 How to ask a good question when I'm not sure what I'm looking for?
-
@Mel,它不是重复的,这个问题是关于字符串,而不是正则表达式。
标签: java