如何确定字符串是否仅包含空格而不包含其他内容?这些空间的数量并不重要。
if () // $string contains ONLY whitespaces and nothing else
{
// do something
}
最好能提供可以推广到任何角色的解决方案: 如何查找字符串是否仅包含某些字符而不包含任何其他内容
答案 0 :(得分:4)
非正则表达式可能是:
empty(trim($string))
strlen($string) >= 1
删除所有空格,然后检查字符串是否为空。 <f:field bean="loan" property="bank" >
<g:select class="form-control" id="bank" name="bank.id" from="${banks}" optionKey="id" optionValue="companyName" value="${loan.bank.id}"/>
</f:field>
确认字符串不是空的开头。如果还允许空字符串,则可以删除检查。
答案 1 :(得分:4)
最短的方法:
$s && !trim($s)
$s
不为空(包含任何内容)时,True
才会被评估为$s = " \t \n";
var_dump($s && !trim($s)); // true
测试:
$s = "";
var_dump($s && !trim($s)); // false
" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab.
关于空白的实用信息 :
kops create cluster ...
答案 2 :(得分:2)
您可以使用正则表达式:
if (preg_match('/^\s*$/', $string)) {
// do something
}
此表达式验证字符串是否仅包含空格字符或根本不包含任何内容。要排除空字符串,请使用/^\s+$/
。
答案 3 :(得分:0)
试试这样:
if ( preg_match('/\s/',$mystring) )
答案 4 :(得分:0)
实现这一目标的方法有两种:快速和肮脏,真实; 快速的方式运行$ string中的每个字符并检查它:
$is_space=true;
for($i = 0; $i<strlen($string); $i++){
if($string[$i]!==' '){
$is_space=false;
}
}
所以,如果$ is_space为true,那么你的字符串只包含空格;
第二种方式是regexp,你需要深入潜水http://php.net/manual/ru/function.preg-match.php, 你需要像那样的正则表达式
\S+
如果你找不到空白的smth,那么你只能在这个字符串中找到空格。
你需要检查字符串长度,有很多方法可以使用regexp来检查你需要什么。
答案 5 :(得分:0)
您可以使用正则表达式来检查字符串是否只包含空格。
if(preg_match('~\s*~', $string) ) {
//do something...
}
如果要检查单个空格,请使用相应的转义序列:
if(preg_match('~[\r\n]*~', $string) ) {
//do something...
}