我有以下类型的DAA76647.1的参考编号,我想将其转换为Mathematica中的字符串。如何在Mathematica中将包含小数点的字母数字(参考)数字转换为字符串
即
myfn [DAA76647.1]
给作为输出
“DAA76647.1”
是否有一个简单的方法来做到这一点? (输入不能是字符串,除了转换为字符串之外,我不想以任何其他方式更改输入)。
更新
ToString /@ {A1234, 1234.1, A1234 .5}
给出了下面的输出(在这里我简单地从键盘输入的所有内容)
{"A1234", "1234.1", "0.5 A1234"}
看来,如果所发生前的小数点是字母数字,有是一个问题。
可能的解决方法
基于由David Carraher的建议解决方案,一种可能的方法如下:
ToString[# /.a_ b_ :> ToString[b] <> StringDrop[ToString[a], 1]] & /@ {A1234,
1234.1, A1234 .5}
给作为输出:
{"A1234", "1234.1", "A1234.5"}
这似乎是工作确定前提条件是小数点后面的数字不是字母数字,并且规定了之前的内容es不以零开始(例如,0A123.1)。
如果只有小数点后数字字母出现,这可以并入
StringReplace[ToString[123.45 B55c], Whitespace -> ""]
但如果字母数字小数点之前和之后发生的数量仍需要输入一个字符串。
大卫Carraher的原建议
f[Times[a_, b_]] := ToString[b] <> ToString[a]
输入来自哪里? – 2011-04-08 16:13:16
@Michael。数字是数据库的登录号,我希望它成为我从数据库生成的一个_string_的一部分。我不想要求用户必须输入一个字符串(它可能是一个剪切和粘贴)。 (其他独特的identifers,如GI:8375436很容易处理,但我想给出一个选择)。 – tomd 2011-04-08 16:23:50
@TomD我认为Michael的问题是:DAA76647.1采用什么格式?我假设(下)它直接从键盘输入。 – DavidC 2011-04-08 16:32:31