You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何筛选并打印字符串数组中以‘New’开头的元素?

筛选并打印以‘New’开头的字符串数组元素

没问题!我来给你几个常用编程语言的实现方案,帮你快速搞定这个需求~

Python 实现

假设你的字符串数组是这样的:["New York", "London", "New Delhi", "Paris", "New Orleans"],可以用下面两种方法筛选:

方法1:列表推导式(简洁直观)

string_array = ["New York", "London", "New Delhi", "Paris", "New Orleans"]
# 筛选以"New"开头的元素
filtered_arr = [s for s in string_array if s.startswith("New")]

# 打印结果
for item in filtered_arr:
    print(item)

解释:startswith("New")是Python字符串自带的方法,直接检查字符串是否以指定前缀开头,代码简洁可读性高。

方法2:filter函数(函数式风格)

string_array = ["New York", "London", "New Delhi", "Paris", "New Orleans"]
# 用filter配合匿名函数过滤
filtered_arr = list(filter(lambda s: s.startswith("New"), string_array))

# 打印结果
for item in filtered_arr:
    print(item)

解释:filter会遍历数组,把符合匿名函数条件的元素保留下来,最后转成列表即可。

JavaScript 实现

同样用示例数组["New York", "London", "New Delhi", "Paris", "New Orleans"]

方法1:filter方法(ES6+推荐)

const stringArray = ["New York", "London", "New Delhi", "Paris", "New Orleans"];
// 筛选符合条件的元素
const filteredArr = stringArray.filter(str => str.startsWith("New"));

// 逐个打印结果
filteredArr.forEach(item => console.log(item));

解释:filter方法返回新数组,只包含满足条件的元素,startsWith方法用来检查前缀,代码简洁高效。

方法2:兼容旧环境的循环遍历

如果需要支持不支持ES6的旧环境,可以用普通循环:

const stringArray = ["New York", "London", "New Delhi", "Paris", "New Orleans"];
const filteredArr = [];

// 遍历数组筛选
for (let i = 0; i < stringArray.length; i++) {
    // indexOf返回0表示字符串开头就是"New"
    if (stringArray[i].indexOf("New") === 0) {
        filteredArr.push(stringArray[i]);
    }
}

// 打印结果
for (let item of filteredArr) {
    console.log(item);
}

Java 实现

示例数组:{"New York", "London", "New Delhi", "Paris", "New Orleans"}

方法1:Stream API(Java 8+推荐)

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class FilterStartsWithNew {
    public static void main(String[] args) {
        String[] stringArray = {"New York", "London", "New Delhi", "Paris", "New Orleans"};
        
        // 用Stream筛选并收集成列表
        List<String> filteredList = Arrays.stream(stringArray)
                                         .filter(str -> str.startsWith("New"))
                                         .collect(Collectors.toList());
        
        // 打印结果
        filteredList.forEach(System.out::println);
    }
}

解释:Java 8引入的Stream API让集合操作更简洁,filter方法负责筛选,collect把结果转成列表。

方法2:普通for循环(轻量高效)

public class FilterStartsWithNew {
    public static void main(String[] args) {
        String[] stringArray = {"New York", "London", "New Delhi", "Paris", "New Orleans"};
        
        // 直接遍历数组,符合条件就打印
        for (String str : stringArray) {
            if (str.startsWith("New")) {
                System.out.println(str);
            }
        }
    }
}

解释:不需要额外存储筛选后的列表,遍历过程中直接打印符合条件的元素,内存占用更低。

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

火山引擎 最新活动