如何筛选数组中以指定前缀Da开头的元素
数组筛选实现方案
以下是不同常用编程语言的实现方式:
JavaScript
使用数组filter方法搭配字符串startsWithAPI实现:
const nameArr = ['David', 'Daniel', 'Dude', 'Dwayne'] const filteredResult = nameArr.filter(name => name.startsWith('Da')) // 输出结果:['David', 'Daniel']
低版本环境可以用正则匹配替代:
const filteredResult = nameArr.filter(name => /^Da/.test(name))
Python
使用列表推导式实现:
name_arr = ['David', 'Daniel', 'Dude', 'Dwayne'] filtered_result = [name for name in name_arr if name.startswith('Da')] # 输出结果:['David', 'Daniel']
也可以用filter高阶函数实现:
filtered_result = list(filter(lambda x: x.startswith('Da'), name_arr))
Java
Java 8及以上版本可通过Stream流实现:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class NameFilter { public static void main(String[] args) { List<String> nameList = Arrays.asList("David", "Daniel", "Dude", "Dwayne"); List<String> filteredResult = nameList.stream() .filter(name -> name.startsWith("Da")) .collect(Collectors.toList()); // 输出结果:[David, Daniel] } }
注意:以上实现默认区分大小写,仅匹配大写D+小写a开头的字符串。如果需要忽略大小写匹配,可以先将字符串统一转为全小写/全大写后再做判断。
内容的提问来源于stack exchange,提问作者user3150947
相关产品推荐
相关产品推荐

