You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现每个句子首单词首字母大写?现有代码仅段落首词大写

实现每个句子首单词首字母大写的解决方案

嘿,我明白你的需求啦!你现在的代码只能把整个文本的第一个单词首字母大写,要实现句号、感叹号之后的句子首单词也自动大写,我们可以借助正则表达式精准匹配句子的开头位置,再替换成大写字母。

修改后的完整代码

HTML部分

<textarea autocomplete="off" cols="30" id="TextInput" name="message" oninput="myFunction()" rows="10" style="width: 100%"></textarea> 
<br><br> 
<input id="FistWordFirstCharcterCapital" onclick="FistWordFirstCharcterCapital()" style="color: black;" type="button" value="First word first character capital of each sentence!" />

JavaScript部分

function FistWordFirstCharcterCapital() {
  // 先统一转小写,避免原文本大小写混乱影响处理
  let string = document.getElementById("TextInput").value.toLowerCase();
  // 正则匹配两种句子开头:文本起始位置,或.!后跟空格的位置,捕获后面的小写字母
  let formattedString = string.replace(/(^|[.!]\s+)([a-z])/g, (match, prefix, char) => {
    return prefix + char.toUpperCase();
  });
  document.getElementById("TextInput").value = formattedString;
}

代码逻辑说明

  • 正则表达式 /(^|[.!]\s+)([a-z])/g:
    • ^ 匹配整个文本的起始位置
    • [.!]\s+ 匹配句号/感叹号,以及后面跟着的一个或多个空格
    • ([a-z]) 捕获这些位置后的小写字母,用于后续替换
  • 替换函数会把捕获到的小写字母转成大写,再和前面的前缀(比如! )拼接回去,确保每个句子的首单词首字母都能正确大写。

效果演示

输入内容:

hello I haven't seen you for awhile! how are you!
hello I haven't seen you for awhile. how are you.

处理后会变成:

Hello I haven't seen you for awhile! How are you!
Hello I haven't seen you for awhile. How are you.

内容的提问来源于stack exchange,提问作者santosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:53:10