在点和空格之后大写只有下一个单词后点(也许是正则表达式+ ucfirst)

时间:2017-06-03 01:40:33

标签: regex str-replace ucfirst

在点和空格之后大写只有下一个单词后点,也许使用正则表达式+ ucfirst ..

preg_match('/[\s\.][a-z]/'
$theCode = str_replace(ucfirst.....

总之,在变量的所有数据中,仅在spaço+ point之后的第一个字母中执行大写。

$theCode = 'babab. babab babab. bababa bababa bababa. bababa babab baba';

出:

$theCode = 'babab. Babab babab. Bababa bababa bababa. Bababa babab baba';

无论我采用何种方法,我只是建议。

由于

1 个答案:

答案 0 :(得分:2)

对于php,preg_replace_callback + ucfirst

live example

$theCode = 'babab. babab babab. bababa bababa bababa. bababa babab baba';
$pattern = '/([a-z][^.]*)/i';

$result = preg_replace_callback($pattern, function($matches) {
    return ucfirst($matches[0]);
}, $theCode);

echo $result;

对于javascript,

function capitalizeAll(str) {
   return str.replace(/([a-z])([^.]*)/gi, (a, b, c) => {
      return (b || '').toUpperCase() + c;
   });
}

var theCode = 'babab. babab babab. bababa bababa bababa. bababa babab baba';

console.log(capitalizeAll(theCode));