当前位置: 首页 > 面试题库 >

为什么不能用美元符号分割字符串?

松景铄
2023-03-14
问题内容

我想分割一个具有如下内容的字符串:

a$b$c

但是当我使用时:

String data=...
data.split("$");

它不能识别$并且不分割字符串,但是当我用$像X这样的字母替换$时,它可以工作。有人有什么主意吗?


问题答案:

split函数需要一个正则表达式(而不是字符串)进行匹配。您的正则表达式使用特殊字符-在本例中为’$’-因此您需要对其进行更改以转义该字符:

String line = ...
String[] lineData = line.split("\\$");

还要注意,split返回一个字符串数组-
字符串是不可变的,因此无法修改。对String所做的任何修改都将以新的String返回,并且原始值不会更改。因此lineData = line.split("\\$");以上。



 类似资料:
  • 问题内容: 我正在看有角度的1.2源代码,我很好奇为什么某些函数以两个美元符号开头。这是某种约定吗? 问题答案: 单个,用于保留公共标识符 保留 专用 标识符的双精度 引用文档: $前缀命名约定 … 如果您检查范围,您可能还会注意到一些以$$开头的属性。这些属性被认为是私有的,不应访问或修改。

  • 问题内容: 我需要将逗号分隔的字符串拆分为第二列,我具有下表: 我想将逗号后的数字分成第二列POS2,所以它应该像这样 所以我查询了以下内容: 问题答案: MySQL没有内置功能。相当于MySQL。 使用可能是更简洁的方法。这样的事情(免责声明:未经测试): 用于POS 用于POS2 顺便说一句,我可能会误解您要完成的工作,但看起来您可能想要现有的行,而不是新的行?就像是:

  • 问题内容: 我正在尝试像在此网页中那样使用printf语句在Java中进行格式化:单击此处。但是我只是不知道$符号的目的是什么。有人可以向我解释一下吗? 输入: 预期的输出:(应该有一个空格而不是_) 我的代码: 问题答案: 这是 参数索引 。您可以阅读文档。我将尝试为您解释教程中的字符串: 通常,格式为。 在我们的示例中,指向语句中的位置。我们有3个字符串格式化,因此为什么我们的格式化字符串有,

  • 问题内容: 我想用定界符空格分割字符串。但它应该智能地处理带引号的字符串。例如,像这样的字符串 它应该返回三个字符串John Smith,Ted和Barry。 问题答案: 弄乱它之后,您可以使用Regex来实现。在以下位置运行“全部匹配”的等效项: 一个Java示例: 输出: 上面使用示例的正则表达式分解可以在这里查看: http://regex101.com/r/wM6yT9 综上所述,正则表达

  • 问题内容: 在Java中,它似乎在少数其他语言,在模式的反向引用由一个反斜杠(如前面,,,等),但在替换字符串他们前面加一个美元符号(例如,,,和也)。 这是一个片段说明: 问题: Java特有的替换字符串中使用for反向引用吗?如果没有,用什么语言开始的?什么口味使用它,什么不使用? 为什么这是个好主意?为什么不坚持相同的模式语法?那会不会导致语言的衔接性和易学性? 如果上面的语句1和4是“正确

  • 问题内容: 我有以下字符串: 我“肯定”想“上学”。 现在,我想在省略号处分割此字符串,即我想获得以下输出: 我会 一定 喜欢 上学 。 问题答案: 如果您是用引号()代替省略号,最简单的解决方案是使用 :