java - Java如何比较字符串,字符串比较问题
问题描述
我在Java中的字符串比较有问题。我有 2 个几乎相似的字符串,但它们不相等,因为一个包含 - (44) 字符,另一个包含 - (8211) 字符。有人可以帮我解决这个问题,这个字符串是相等的。我在代码中尝试了这个,但它不起作用:
cellValue.replaceAll("\u0045", "\u8211");
byte[] bytes = cellValue.getBytes(Charset.defaultCharset());
String cellValueUtf8 = new String(bytes, Charset.defaultCharset());
解决方案
String
s 是常数;它们的值在创建后无法更改。因此,String#replaceAll
返回一个新的,String
即这个操作不会改变cellValue
。另外,请注意String#replaceAll
将正则表达式作为第一个参数。
您需要String#replace
, 它将给定字符串中所有出现的, 替换为, 而不是.oldChar
newChar
String#replaceAll
代替
cellValue.replaceAll("\u0045", "\u8211");
和
cellValue = cellValue.replace('\u0045', '\u8211');
为了将更改后的值分配给cellValue
.
推荐阅读
- java - android java从内部类访问,需要声明final
- python - 从单个 Txt 文件创建多个音频文件
- java - 使用 Java 高级 REST 客户端的 ElasticSearch 多词查询
- python - 熊猫数据框查询未找到价值
- reactjs - 如何在 gatsby 中初始化 firebase?
- php - 如何使用php中的ftp函数从服务器获取文件
- reactjs - 传单:尝试将更多(50K)标记图标加载到 L.canvasLayer 每个标记都有不同的旋转。性能问题
- c++ - 可变长度数组c ++&没有运算符>>错误?
- android - 应用程序错误:生成签名 APK Ionic4 后的 net:ERR_SOCKET_NOT_CONNECTED 错误
- python - 我怎么能通过手写在我的 Electronjs 桌面应用程序上写东西