在Java中反转单个字符
在Java中是否有任何方法可以反转字符,即反转“(“转为”)”。我尝试了字符串缓冲区,当然它不起作用,因为它不反转一个字符,而是反转多个字符的字符串。您的帮助将不胜感激。不太感谢 除非提供要替换的字符以及要替换的字符的映射,否则无法执行此操作 然后迭代字符串,查找该字符在映射中是否有“反向”字符,如果有,则替换它 有没有办法在Java中反转字符 简单的答案是否定的。在任何标准API中都没有。(并且AFAIK不在任何常用的第三方库中;Apache Commons、Guava等。) 为什么?在Java中反转单个字符,java,Java,在Java中是否有任何方法可以反转字符,即反转“(“转为”)”。我尝试了字符串缓冲区,当然它不起作用,因为它不反转一个字符,而是反转多个字符的字符串。您的帮助将不胜感激。不太感谢 除非提供要替换的字符以及要替换的字符的映射,否则无法执行此操作 然后迭代字符串,查找该字符在映射中是否有“反向”字符,如果有,则替换它 有没有办法在Java中反转字符 简单的答案是否定的。在任何标准API中都没有。(并且AFAIK不在任何常用的第三方库中;Apache Commons、Guava等。) 为什么? 因为
- 因为这类事情很少需要。(我不记得以前在StackOverflow上见过这样的请求。)Java设计人员明智地不使用晦涩难懂的方法预先加载标准API,这些方法很少使用
- 因为“反向”的概念没有很好的定义:
- 如果您想要一个字符,其字形是其他字符的镜像,这不是一个容易处理的问题。字形取决于所使用的
字体。例如,
和(
不是镜像。(至少在我的屏幕上不是!))
- 如果您想要一个代码点内在地表示另一个代码点的相反或相反,这是很难解决的,因为代码点没有任何内在的意义
- 如果您想要一个字符,其字形是其他字符的镜像,这不是一个容易处理的问题。字形取决于所使用的
那么解决方案是什么呢
使用一个简单的查找表实现您自己的“反向”概念。您必须自己创建一个“反向”字符映射并应用它。标准库不提供。请考虑术语:不能在字符串编程上下文中反转一个字符,意思是“反转”。您要问的是如何镜像或翻转字符,以便澄清这种情况:
(
和)
根本不是彼此的镜像,这取决于所使用的字体,因此它完全取决于字体,然后对于特定字体,您需要创建一个查找,指定两个字符对“看起来它们是镜像的”字符。这听起来更像是你想找到一个右大括号到一个左大括号。在ASCII中,我想只有三个:括号:[],(卷曲)大括号{}和括号:()。对于它们,你可以制作一张地图。如果你进入Unicode丛林,那么,你可能需要带一把大象枪。