温馨提示×

怎样提取字符串信息

小樊
44
2026-08-28 16:50:12
栏目: 编程语言

提取字符串信息的方法取决于具体任务、编程语言以及字符串的结构。下面我按常见场景给你系统梳理,并配有示例,你可以按需选用。


一、按任务类型分类

1️⃣ 提取固定的子字符串

适合:已知位置或长度

s = "HelloWorld"
print(s[0:5])      # Hello
print(s[-5:])      # World

2️⃣ 按分隔符提取(最常见)

适合:CSV、日志、路径、参数等

s = "name=Tom&age=18"
parts = s.split("&")
print(parts)  # ['name=Tom', 'age=18']

或进一步提取:

result = {}
for p in parts:
    k, v = p.split("=")
    result[k] = v

3️⃣ 使用正则表达式(最灵活 ✅)

适合:格式不固定、复杂规则

示例 1:提取数字

import re

s = "订单号是12345,金额是99.8"
nums = re.findall(r"\d+", s)
print(nums)  # ['12345', '99', '8']

示例 2:提取邮箱

text = "联系我:test@example.com"
email = re.search(r"\w+@\w+\.\w+", text)
print(email.group())

示例 3:提取指定结构

s = "姓名:张三,年龄:25"
name = re.search(r"姓名:(\w+)", s).group(1)

4️⃣ 从结构化字符串中提取(JSON / XML)

JSON

import json

s = '{"name":"Tom","age":18}'
data = json.loads(s)
print(data["name"])

XML

import xml.etree.ElementTree as ET

xml_str = "<user><name>Tom</name></user>"
root = ET.fromstring(xml_str)
print(root.find("name").text)

5️⃣ 从 HTML 中提取信息

✅ 不推荐只用正则,推荐解析器

from bs4 import BeautifulSoup

html = "<div class='title'>Hello</div>"
soup = BeautifulSoup(html, "html.parser")
print(soup.div.text)

6️⃣ 提取指定关键词前后的内容

import re

s = "密码是123456,请保存"
pwd = re.search(r"密码是(.+?),", s).group(1)

二、不同语言快速参考

Python

split() / re / json

Java

String s = "a,b,c";
String[] arr = s.split(",");

JavaScript

"a,b,c".split(",");

三、选择方法的建议 ✅

场景 推荐方式
固定格式 字符串切片
有明确分隔符 split
复杂规则 正则表达式
结构化数据 JSON / XML 解析
HTML BeautifulSoup / DOM

四、如果你愿意,我可以更具体帮你 ✅

你可以直接告诉我: 1️⃣ 使用的语言(Python / Java / JS 等)
2️⃣ 示例字符串
3️⃣ 想提取的具体内容

我可以给你定制的提取代码

0