可以使用正则表达式来实现字符串标点符号前的内容截取。

例如,以下代码将截取字符串中第一个标点符号前的内容:

var str = "Hello, world!";
var match = str.match(/(.*?)[,.!?]/);
var result = match ? match[1] : str;
console.log(result); // 输出 "Hello"

解释:

  • match(/(.*?)[,.!?]/):使用正则表达式匹配字符串中第一个出现的标点符号(逗号、句号、问号或感叹号)及其之前的内容,使用非贪婪模式(.*?)匹配尽可能少的字符。
  • match[1]:获取匹配结果中第一个分组(即圆括号中的内容),即标点符号前的内容。
  • result = match ? match[1] : str:如果匹配成功,则将截取的内容赋值给result,否则将原字符串赋值给result

如果要截取所有标点符号前的内容,可以使用split()方法和正则表达式:

var str = "Hello, world! I'm a programmer.";
var arr = str.split(/[,.\s]+/);
console.log(arr); // 输出 ["Hello", "world", "I'm", "a", "programmer"]

解释:

  • split(/[,.\s]+/):使用正则表达式匹配逗号、句号或空格,将字符串分割成多个子串,返回一个数组。
  • arr:数组中的每个元素即为标点符号前的内容。
js截取字符串标点符号前的内容

原文地址: https://www.cveoy.top/t/topic/bpnh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录