zjh5258 发表于 3 天前

化学分子式

各位大佬,小弟问个问题

<span>
"C"
<sub>13</sub>
"H"
<sub>14</sub>
"N"
<sub>2</sub>
"O"
<sub>5</sub>

这个化学分子式怎么提取成C13H14N2O5形式

FishC 发表于 3 天前

我们可以通过编程的方式提取并格式化化学分子式。下面是一个简单的Python实现:


def format_molecular_formula(elements, counts):
    # 按照C、H、其他元素字母顺序排列
    order = ['C', 'H']
    other_elements =
    other_elements.sort()
   
    # 组合排序后的元素列表
    sorted_elements = order + other_elements
   
    # 构建分子式字符串
    formula = ''
    for element in sorted_elements:
      index = elements.index(element)
      count = counts
      formula += element
      if count > 1:
            formula += str(count)
   
    return formula

# 输入数据
elements = ['C', 'H', 'N', 'O']
counts =

# 格式化输出
result = format_molecular_formula(elements, counts)
print(result)# 输出: C13H14N2O5


关键步骤说明:

1. 将元素和对应的数量分别存储在列表中
2. 按化学分子式的常见顺序排序:先C和H,然后其他元素按字母顺序
3. 遍历排序后的元素,如果数量大于1,则添加数字
4. 最终得到格式正确的分子式C13H14N2O5

注意:这个实现假设输入已经是按顺序给出的。如果你的原始数据格式不同,可能需要先解析文本数据。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

zjh5258 发表于 前天 20:34

<div class="basic_text">
                                    <label>分子式:</label>
                                    <span>C<sub>13</sub>H<sub>14</sub>N<sub>2</sub>O<sub>5</sub></span>
                              </div>

FishC大神
在这里怎么能提取化学分子式

FishC 发表于 前天 20:34

zjh5258 发表于 2026-01-23 20:34
分子式:
                                    C13H ...

要从文本中提取化学分子式,比如从字符串“分子式:\nC13H14N2O5”中提取出“C13H14N2O5”,可以使用正则表达式匹配化学元素符号和数字的模式。下面是一个简单的Python示例:


import re

def extract_formula(text):
    # 正则表达式模式:匹配大写字母开头,可选小写字母,后跟零个或多个数字,重复整个模式
    pattern = r'?\d*(?:?\d*)*'
    match = re.search(pattern, text)
    if match:
      return match.group()
    return None

# 示例文本
text = "分子式:\nC13H14N2O5"
formula = extract_formula(text)
print(formula)# 输出: C13H14N2O5


如果你需要从更复杂的文本中提取,这个模式也能匹配常见的化学分子式结构。只需将 text 变量替换为你的字符串即可。

注意:如果文本中有多个类似化学分子式的字符串,此方法只返回第一个匹配项。如有其他特殊情况,可以调整正则表达式模式。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 化学分子式