我已经从粘贴到txt的网页上手动复制了一些项目,然后将其存储到数据库中。现在我错过的是隐形字符。
当我使用substr($ word,0,x)中的不同值检索每个单词的第一个字符时,它会显示不可见字符的存在。
php code -
substr($word,0,1)
string-'data structures and algorithms'
output-'SA'
expected-'DSA'
string-'Web Development'
output-'WD'
substr($word,0,2)
string-'data structures and algorithms'
output-'DSTAL'
expected-'DASTAL'
string-'Web Development'
output-'WEDE'
输出 -
valgrind --tool=memcheck --track-origins=yes <program_path>
答案 0 :(得分:0)
你快到了:
scrollView.post(new Runnable() {
public void run() {
scrollView.fullScroll(scrollView.FOCUS_DOWN);
} });
答案 1 :(得分:0)
您可以使用array_
方法完成大量工作(代码中的注释中的详细信息)......
public function getPrefixAttribute()
{
$str=$this->attributes['Subject_name'];
// Use uppercase list of words to exclude
$exclude=array('AND', 'OF', 'IN');
// Split string into words (uppercase)
$current = explode(" ", strtoupper($str));
// Return the difference between the string words and excluded
// Use array_filter to remove empty elements
$remain = array_filter(array_diff($current, $exclude));
$ret = '';
foreach ($remain as $word)
{
$ret .= $word[0];
}
return $ret;
}
使用array_filter()
删除所有空元素,这些可能导致[0]
部分失败,无论如何都无用。如果你有双重空格会发生这种情况,因为它会假设一个空元素。
答案 2 :(得分:0)
另一种方法是使用内置的PHP函数: -
function getPrefixAttribute() {
$str = $this->attributes['Subject_name']; // 'data Structures And algorithms';
$exclude = array('and', 'of', 'in'); // make sure to set all these to lower case
$exploded = explode(' ', strtolower($str));
// get first letter of each word from the cleaned array(without excluded words)
$expected_letters_array = array_map(function($value){
return $value[0];
}, array_filter(array_diff($exploded, $exclude)));
return strtoupper(implode('', $expected_letters_array));
}
答案 3 :(得分:0)
不可见的字符是&#39; / n&#39;,&#39; / r&#39;,&#39; / t&#39; 和手动删除它们的方法是
$string = trim(preg_replace('/\s\s+/', ' ', $string));