如何提取点分隔字符串中每个单词的首字母
点分隔字符串提取各段首字母的实现方案
通用实现逻辑
- 第一步:将输入字符串按
.字符分割为独立的段列表 - 第二步:过滤掉分割后可能存在的空段(兼容输入首尾带点、连续多个
.的异常场景) - 第三步:遍历每个有效段,取每个段的第一个字符,即可得到目标首字母
常见编程语言实现示例
Python 实现
def get_first_chars(input_str: str) -> list: return [part[0] for part in input_str.split('.') if part] # 测试用例 print(get_first_chars("first.last")) # 输出:['f', 'l'] print(get_first_chars("quartz.block")) # 输出:['q', 'b'] # 异常输入兼容测试 print(get_first_chars(".a.b..c.")) # 输出:['a', 'b', 'c']
JavaScript 实现
function getFirstChars(inputStr) { return inputStr.split('.') .filter(part => part.length > 0) .map(part => part[0]); } // 测试用例 console.log(getFirstChars("first.last")); // 输出:['f', 'l'] console.log(getFirstChars("quartz.block")); // 输出:['q', 'b']
Shell 实现(awk)
echo "first.last" | awk -F '.' '{for(i=1;i<=NF;i++) if($i!="") print substr($i,1,1)}' # 输出: # f # l
极简写法(仅适用于标准输入场景)
如果你能确保输入一定是单词.单词的标准格式,无多余点、无空段,可以省略空段过滤步骤,代码可以进一步简化,比如Python的极简写法:
res = [part[0] for part in "first.last".split('.')]
内容的提问来源于stack exchange,提问作者a e
相关产品推荐
相关产品推荐

