如何判断非英文字符串是否为大写?
我使用以下代码来检查所有字符均为大写字母的字符串:
if (preg_match('/^[\p{Lu}]+$/', $word)) {
这对于英语非常有效,但无法检测带重音符号的字母、俄语字母等。 \p{Lu} 应该有效吗对于所有语言?有更好的方法吗?
I'm using the following code to check for a string where all the characters are upper-case letters:
if (preg_match('/^[\p{Lu}]+$/', $word)) {
This works great for English, but fails to detect letters with accents, Russian letters, etc. Is \p{Lu} supposed to work for all languages? Is there a better approach?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一个特殊选项是 /u,它打开 Unicode 匹配模式,而不是默认的 8 位匹配模式。您应该为使用 \x{FFFF}、\X 或 \p{L} 匹配 Unicode 字符、字素、属性或脚本的正则表达式指定 /u。 PHP 会将 '/regex/u' 解释为 UTF-8 字符串而不是 ASCII 字符串。
http://www.regular-expressions.info/php.html --
A special option is the /u which turns on the Unicode matching mode, instead of the default 8-bit matching mode. You should specify /u for regular expressions that use \x{FFFF}, \X or \p{L} to match Unicode characters, graphemes, properties or scripts. PHP will interpret '/regex/u' as a UTF-8 string rather than as an ASCII string.
http://www.regular-expressions.info/php.html --
使用函数你可以改变字符串的大写......
此处提供的功能:
字符串名称=“曼尼什·尼蒂安”;
console.Writeline("您的大写字符串是:"+name.UPPERCASE());
using function u can do change in Uppercase of String ....
Function Available here :
string name="manish niitian";
console.Writeline("Your String in Uppercase is : "+name.UPPERCASE());