java String字符串缺失?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java String字符串缺失?相关的知识,希望对你有一定的参考价值。

从文本中读取的数据(1行),但是明显缺失,如图:字符串是以" SAP_..."开头的 但是下面的值 是" "前面全是空格,只截取了后面的部分,但是String中VALUE中又有" SAP_...",百思不得其解!换了一行数据没问题,估计是数据问题,我想问是什么字符串可能导致这种问题??

数据库存的数据估计就有问题,先从数据库的数据查找看看是否有空格,然后你截取的时候是不是用转译。
一步一步来。
参考技术A 文本内容都可以的,空格导致,替换掉。 参考技术B 是你的空格导致的,尽量少打空格 参考技术C 转义字符、空格 参考技术D 特殊符号嘛...回车什么什么的,传的时候加个\转义... 第5个回答  2014-08-19 字符串.trim() 一下

提取单词的现有和缺失的左侧搭配

【中文标题】提取单词的现有和缺失的左侧搭配【英文标题】:Extract existing and missing left-hand collocates of a word 【发布时间】:2022-01-10 09:52:43 【问题描述】:

如果“like”是字符串中的第一个单词,我正在努力,例如“like”:

test_string = c("like like like lucy she likes it and she's always liked it.")

使用 str_extract_all 和否定字符类 \\S 我已经接近了 - 但还不够接近(奇怪的是,第二个搭配的“l”被省略了):

library(stringr)
unlist(str_extract_all(test_string, "(^|\\S+)(?=\\s?\\blike\\b)"))
[1] ""     "ike"  "like"

使用这种模式,我错过了 missing 搭配:

unlist(str_extract_all(test_string, "('?\\b[a-z']+\\b|^)(?=\\s?\\blike\\b)"))
[1] "like" "like"

正确的结果应该是这样的:("" 代表字符串开头的“like”的 missing 搭配)

[1] ""     "like"  "like"

我想知道,这里的错误在哪里?如何改进提取?

【问题讨论】:

如果您不关心开头是否出现空匹配,您可以使用unlist(str_extract_all(test_string, "\\S+(?=\\s+like\\b)|(?<=^like\\b)"))(作为一种解决方法)。 让我快速解释一下这个问题:一旦找到空匹配,就会返回空字符串,并且正则表达式索引会前进到字符串中的下一个位置,因此不允许在同一位置进行两个匹配,一个空字符串和从该位置开始的单词。 我没有时间这样做,因此您可以尝试的解决方法是匹配并捕获您需要的项目。不过,您将需要重新排序捕获。见res <- str_match_all(test_string, "(^)(?:\\s*(like)\\b)?|(\\S+)(?=\\s+like\\b)")。如果 Col 4 是 NA,则取 Col 2 和 Col 3,否则取 Col 4。 which 在 Wiktor 的(第一次)工作中返回空字符串位置,并建议第二步 likes[c(which(likes == ""), which(likes != ""))],也许。 【参考方案1】:

您可以使用替换 | 来获取字符串开头的位置,并使用带有有限量词的后向断言进行匹配:

^ 字符串开始(这是位置) (?=like\b) 正向前瞻,断言like 后跟直接向右的单词边界 |或者 (?<= 正面回望 ^ 字符串开始 (?:like\s1,2)0,100 重复使用有限量词匹配,如后跟空白字符(也后跟有限量词) ) 近距离观察 like\b匹配like和一个词的边界

Regex demo | R demo

例子

test_string = c("like like like lucy she likes it and she's always liked it.")
library(stringr)
unlist(str_extract_all(test_string, "^(?=like\\b)|(?<=^(?:like\\s1,2)0,100)like\\b"))

输出

[1] ""     "like" "like"

【讨论】:

以上是关于java String字符串缺失?的主要内容,如果未能解决你的问题,请参考以下文章

FCC 中级算法题 找到缺失的字母

将无效数据设置为 Spark DataFrames 中的缺失数据

提取单词的现有和缺失的左侧搭配

java成神之——java中string的用法

java string类

java string怎么截取字符串