子串和索引

时间:2012-04-28 13:13:40

标签: c# string java-me

我正在使用J2me,ASP和WML创建移动网站。

我从数据库中读取并创建了一个字符串,因此我可以稍后调用它。

                string id = reader[0].ToString();
                string name = reader[1].ToString();
                Response.Write("#" + name + id);
在J2me中的

我记得它是

stringItem3.setText("Welcome  "+result.substring(result.indexOf("#")+1)
  + "ID " + result.substring(result.indexOf("#")+2));

并且结果不是我想要的,我试图用语法改变很多,但没有运气。

结果始终显示为

enter image description here

虽然我真正希望展示的是

Welcome  (name)  ID : (id)
or
Welcome  Arin  ID : 20111

获得正确结果的最佳方法是什么?

以后我可以将id值保存在J2me中的字符串中以便以后使用吗(是/否)?


我改变了字符串(已解决)

string id = reader[0].ToString();
string name = reader[1].ToString();
Response.Write("*"+ id + "#" + name); 

获取信息时

stringItem3.setText("Welcome  "+result.substring(result.indexOf("#")+1)
  + "ID " + result.substring(result.indexOf("*")+1,result.indexOf("#")));

result.substring(result.indexOf("*")+1,result.indexOf("#")));

这意味着获得“*”和“#”之间的字符

现在结果很好,如下图所示。

enter image description here

1 个答案:

答案 0 :(得分:2)

您要保存的字符串看起来像#Arin20111,因此indexOf("#")+2#之后的2 nd 字符。

因此result.substring(result.indexOf("#")+1)#之后的整个字符串,即 ID。 result.substring(result.indexOf("#")+1)除了开头的A之外是相同的字符串。

如果您知道该名称永远不会包含#,则可以将该字符串存储为#Arin#20111。然后,名称就是<sup>st</sup>and before the 2<sup>nd</sup>, and the ID is everything after the 2<sup>nd</sup>#`之后的所有内容。