我从PDF文件中提取了文本,并且一些文本在单词之间有额外的空格.
你的水和废水声明
我写了一个函数来从上面的文本中删除多余的空格.
function removeExtraWhitespace($val) {
$nval = "";
for($i = 0; $i < strlen($val); $i++) {
if($val[$i] != " ") {
$nval .= $val[$i];
}
else if((isset($val[$i-2]) && $val[$i-2] != " ") || (isset($val[$i+2]) && $val[$i+2] != " ")) {
$nval .= $val[$i];
}
}
return $nval;
}
Run Code Online (Sandbox Code Playgroud)
哪个会输出:
你的水和废水声明
我知道这个功能在所有情况下都不会起作用.如果文本有一个有效的1个字母的单词,如'a',那么它将失败,或者如果只有一个单词的一部分有额外的空格.
我需要从字符串中删除空格
将上述文本放入我的函数时,它将输出:
我想从字符串中删除空格
有没有办法制作一个可以处理所有可能文本的函数?
当strncmp()和check()都返回0时,我希望循环退出,这意味着它们都找到了匹配项.问题是,当check()返回0并且strncmp()没有返回0时,循环正在退出.
while (strncmp(buf, match, 3) != 0 && check(buf[3]) != 0)
{
}
Run Code Online (Sandbox Code Playgroud)
我已经检查了buf和match中的值,并且它们在退出时不匹配.buf [3]在退出时确实匹配.