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

第一次出现字符后剪切字符串

郝池暝
2023-03-14
问题内容

我有类似’keepme:cutme’或’string-without-separator’之类的字符串,应分别成为’keepme’和’string-
without-separator’。可以在PostgreSQL中完成吗?我试过了:

select substring('first:last' from '.+:')

但这::留在字符串中,如果字符串中没有字符串,它将无法正常工作。


问题答案:

用途
split_part()

SELECT split_part('first:last', ':', 1) AS first_part

如果分隔符不存在,则返回整个字符串。而且很容易获得第二或第三部分等。

比使用正则表达式匹配的函数快得多。而且由于我们有固定的定界符,所以我们不需要使用正则表达式。



 类似资料:
  • 问题内容: 我有这样的字符串 我想用转义双引号(\“)替换最后一个双引号(”) 字符串的结果是 我怎样才能做到这一点。我知道要替换字符串的第一次出现。但不知道如何替换字符串的最后一次出现 问题答案: String str = “"Position, fix, dial"“; int ind = str.lastIndexOf(“"“); if( ind>=0 ) str = new StringB

  • 问题内容: 我有下面的字符串: 所以我要选择,因为它是最后一个时期之后的字符串。我怎样才能做到这一点? 问题答案: 您可能可以使用复杂的正则表达式执行此操作。我喜欢以下方法: 没有什么比测试能证明当字符串结尾时这行不通的了。大约-0 =0。这是一个改进: 编辑: 您的示例在我在本地Oracle和SQL Fiddle中运行时都有效。 我正在运行此代码:

  • 我有一个字符串“aabccdeef” 现在我只想大写每个字符的第一次出现,以便在Java中o/p是AaBCcDEeF

  • 问题内容: 我需要在第二次出现“-”字符之前拆分文本。我现在所产生的结果不一致。我尝试了SO的各种组合并通读并尝试了SO上的其他解决方案,但没有结果。 要分割的样本文件名:在中返回。在这种情况下,我只想回来。 问题答案: 您可以执行以下操作: 将字符串拆分为的第二次出现。 将给出列表中的前2个元素。然后只需加入前2个元素。 要么 您可以使用正则表达式: 编辑: 如评论中所讨论,这是您需要的:

  • 问题内容: 有谁知道用一个字符串中的另一个字符串替换最后一个出现的字符串的快速方法? 问题答案: 您可以使用此功能:

  • 我面临着与Java的匹配器的其他问题。我试图使用正则表达式匹配我的JSON的内容,而不使用外部库。我的JSON看起来像这样: 但是,我只想匹配上半部分中的单词,即在第一个匹配。我试图创建一个新的模式和匹配器,但我不知道如何进行,也不知道如何在第一次出现