如何用JavaScript正则移除字符串列表中空格及之前的全部内容?
移除字符串列表中每个字符串第一个空格及之前的文本
Python 实现
可以用列表推导式结合字符串方法快速处理,同时兼容无空格的字符串:
- 使用
split(maxsplit=1)分割第一个空格:
str_list = ["John Doe", "Alice Smith", "Bob Johnson", "NoSpace"] processed_list = [s.split(maxsplit=1)[-1] if ' ' in s else s for s in str_list] print(processed_list) # 输出: ['Doe', 'Smith', 'Johnson', 'NoSpace']
- 使用
partition()更直观定位第一个空格:
str_list = ["John Doe", "Alice Smith", "Bob Johnson", "NoSpace"] processed_list = [s.partition(' ')[2] if ' ' in s else s for s in str_list] print(processed_list)
JavaScript 实现
通过 map() 遍历列表,结合 split 限制分割次数:
const strList = ["John Doe", "Alice Smith", "Bob Johnson", "NoSpace"]; const processedList = strList.map(s => { const parts = s.split(' ', 2); return parts.length > 1 ? parts[1] : s; }); console.log(processedList); // 输出: ["Doe", "Smith", "Johnson", "NoSpace"]
Java 实现
利用 stream 流处理,通过 indexOf 定位第一个空格位置:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> strList = Arrays.asList("John Doe", "Alice Smith", "Bob Johnson", "NoSpace"); List<String> processedList = strList.stream() .map(s -> { int spaceIndex = s.indexOf(' '); return spaceIndex != -1 ? s.substring(spaceIndex + 1) : s; }) .collect(Collectors.toList()); System.out.println(processedList); // 输出: [Doe, Smith, Johnson, NoSpace] } }
内容的提问来源于stack exchange,提问作者Cole Perry
相关产品推荐
相关产品推荐

