PHP-区分大小写字符
我想分开大写或小写字符 在本文中:“你好,世界,你好吗?” 我想在第一个变量中加入“HELLO WORLD” 第二句是“你好吗” 如何使用php实现这一点PHP-区分大小写字符,php,Php,我想分开大写或小写字符 在本文中:“你好,世界,你好吗?” 我想在第一个变量中加入“HELLO WORLD” 第二句是“你好吗” 如何使用php实现这一点 非常感谢这是假设字符串的第一部分是大写,其余部分是正常的(例如混合大小写)。就像你贴的例子一样 preg_match('/^([A-Z\s]+)(.*)$/', $string, $match); $first_part = trim($match[1]); $second_part = trim($match[2]); 如果句子中混合了大
非常感谢这是假设字符串的第一部分是大写,其余部分是正常的(例如混合大小写)。就像你贴的例子一样
preg_match('/^([A-Z\s]+)(.*)$/', $string, $match);
$first_part = trim($match[1]);
$second_part = trim($match[2]);
如果句子中混合了大写和混合大写的单词,那么我会这样做(注意,这会用单个空格替换单词之间的所有内容)
这是假设字符串的第一部分是大写,其余部分是正常的(例如混合大小写)。就像你贴的例子一样
preg_match('/^([A-Z\s]+)(.*)$/', $string, $match);
$first_part = trim($match[1]);
$second_part = trim($match[2]);
如果句子中混合了大写和混合大写的单词,那么我会这样做(注意,这会用单个空格替换单词之间的所有内容)
如果您的输入字符串始终是一个大写字母序列,后跟一个小写字母序列,类似这样的操作可能会起作用
if (preg_match('/^([A-Z\s]+)\s+([a-z\s+])$/', $str, $matches))
{
$upper=$matches[1];
$lower=$matches[2];
}
通过那个正则表达式
将匹配锚定到字符串的开头,以便我们测试整个字符串^
左括号开始一个组,我们可以在后面提取,(
$matches[1]
是一个字符类,用于匹配从A到Z或whitespce的字符[A-Z\s]
确保有一个或多个这样的字符+
关闭第一个组)
- 然后我们匹配更多的空格,然后以类似的方式查找小写部分
将匹配锚定到字符串的末尾,这样我们就可以确保考虑了整个字符串$
大写序列
,后跟小写序列
,则类似的操作可能会起作用
if (preg_match('/^([A-Z\s]+)\s+([a-z\s+])$/', $str, $matches))
{
$upper=$matches[1];
$lower=$matches[2];
}
通过那个正则表达式
将匹配锚定到字符串的开头,以便我们测试整个字符串^
左括号开始一个组,我们可以在后面提取,(
$matches[1]
是一个字符类,用于匹配从A到Z或whitespce的字符[A-Z\s]
确保有一个或多个这样的字符+
关闭第一个组)
- 然后我们匹配更多的空格,然后以类似的方式查找小写部分
将匹配锚定到字符串的末尾,这样我们就可以确保考虑了整个字符串$
$original = "HELLO WORLD how are you";
$upper = trim(implode(array_intersect(str_split($original),str_split(strtoupper($original)))));
$lower = trim(implode(array_intersect(str_split($original),str_split(strtolower($original)))));
echo $upper,'<br />';
echo $lower,'<br />';
$original=“你好,世界你好”;
$upper=修剪(内爆(数组相交(str_分割($original),str_分割(strtoupper($original '))));
$lower=trim(内爆(数组相交(str_分割($original),str_分割(strtolower($original '))));
回声$upper,“
”;
回声$lower,“
”;
只是为了使用不同的非regexp方法
$original = "HELLO WORLD how are you";
$upper = trim(implode(array_intersect(str_split($original),str_split(strtoupper($original)))));
$lower = trim(implode(array_intersect(str_split($original),str_split(strtolower($original)))));
echo $upper,'<br />';
echo $lower,'<br />';
$original=“你好,世界你好”;
$upper=修剪(内爆(数组相交(str_分割($original),str_分割(strtoupper($original '))));
$lower=trim(内爆(数组相交(str_分割($original),str_分割(strtolower($original '))));
回声$upper,“
”;
回声$lower,“
”;
尽管regexp是确定字符上限或下限的最佳方法,但您也可以使用此函数了解字符的上限或下限。若作为参数发送的字符串包含完全上限,则此函数将返回真值
function is_upper($str)
{
$str2=strtoupper($str);
$$str="x";
if($$str==$$str2)
{
return true;
}
else
return false;
}
虽然regexp是确定字符的上限或下限的最佳方法,但您也可以使用此函数来了解字符的上限或下限。若作为参数发送的字符串包含完全上限,则此函数将返回真值
function is_upper($str)
{
$str2=strtoupper($str);
$$str="x";
if($$str==$$str2)
{
return true;
}
else
return false;
}
我知道这有点晚了,但我在寻找其他问题时偶然发现了这个问题。无论如何,
preg_split
适用于这种情况:
$original = "HELLO WORLD how are you";
$split = preg_split(
'/([[:lower:]].*)/',
$original,
0,
PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY
);
print_r($split);
产出:
Array
(
[0] => HELLO WORLD
[1] => how are you
)
我知道这有点晚了,但我在寻找其他问题时偶然发现了这个问题。无论如何,
preg_split
适用于这种情况:
$original = "HELLO WORLD how are you";
$split = preg_split(
'/([[:lower:]].*)/',
$original,
0,
PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY
);
print_r($split);
产出:
Array
(
[0] => HELLO WORLD
[1] => how are you
)
发布到目前为止的代码?这是什么逻辑。是否可以输入类似“你好,世界”“你好吗”,以及您希望如何处理它?那么
HEllO WoRLD
?您希望能够将“HEllO WoRLD”输出也处理为“HLOWRD el ol”吗?我总是有一个大写顺序,后面跟着一个小写顺序。这是迄今为止的代码吗?这是什么逻辑。是否可以输入类似“你好,世界”“你好吗”,以及您希望如何处理它?你想把“HEllO WoRLD”的输出也处理成“HLOWRD el ol”吗?我总是有一个大写的序列,后面跟着一个小写的序列。我喜欢这段代码,但我只有小写的部分:“你好吗”@Bizboss:对不起。我的代码有点输入错误。现在修好了。我还添加了另一个混合大小写句子的例子。我喜欢这段代码,但我只有小写部分:“你好吗”@Bizboss:我的道歉。我的代码有点输入错误。现在修好了。我又加了一个混合格句子的例子。