Tag: 字符串

Java – “字符串索引超出范围”exception

我只为练习编写了这个小函数,但抛出exception(“String index out of range:29”),我不知道为什么…… (我知道这不是编写此函数的最佳方法,我可以使用正则表达式。) 这是代码: public String retString(String x) { int j=0; int i=0; StringBuffer y = new StringBuffer(x); try { while ( y.charAt(i) != ‘\0’ ) { if (y.charAt(i) != ‘ ‘) { y.setCharAt(j, y.charAt(i)); i++; j++; } else { y.setCharAt(j, y.charAt(i)); i++; j++; while (y.charAt(i) == ‘ ‘) i++; } } […]

NSData到Java String

我最近一直在编写一个与iPhone交互的Web应用程序。 iPhone iphone实际上会以plist的forms向服务器发送信息。 所以看到像…这样的事情并不罕见 RandomData UW31vrxbUTl07PaDRDEln3EWTLojFFmsm7YuRAscirI= 现在我知道这些数据以某种方式进行了散列/加密。 当我用编辑器(属性列表编辑器)打开plist时,它向我展示了一种更“人类可读”的格式。 例如,上面的数据将被转换为类似…… 知道改变它的方法是什么? 主要是我想把它变成Java String。 谢谢!

有没有办法知道arraylist是否包含一段文字?

我有一个有几个项目的arraylist。 让我们说它们是:“深褐色”,“蓝色”,“绿色”,…… 有没有什么办法可以查找我的某些项目中是否有字符串“DARK”? 我知道包含这样做但只有字符串完全正确。 我的想法是寻找一个以我的项目之一开头的文本,但它并不是最后一个字符。 我想做一个循环,如: for(int i=0;i<arraylist.size;i++){ String s = arraylist.get(i); if (s.startsWith(mytext)){ do something } } 但它似乎是一种非常慢的方法,因为arraylist可以包含很多元素。 还有更好的想法? 编辑 只是为了确保你理解我的观点。 我想知道我的arraylist的一个项是否包含一个以某些文本开头并获取该元素的完整文本的元素。 ArrayList.contains是一个布尔值。 如果我需要检索信息,我将不得不使用IndexOf左右,但如果我把“棕色”这个函数给我null 编辑2 这是给你auselen: Arraylist(5000元左右): “大卫的猫在他的卧室里” “我喜欢月亮” “我想去火星旅行” “我的球是红色的” “他们总是忘记Antarctida” … 我想知道是否有一个元素以“我想要”开头,然后检索元素的其余部分。

在随机字符串中匹配日期与正则表达式

我试图用Java做到这一点: 我收到这种字符串 “12/07/2004dddsss12/10/2010ñrrñrñr10/01/2000ksdifjsdifffffdd04/04/1998” 然后我必须在该字符串中找到一个或多个日期,日期格式: dd/mm/yyyy 最后,我必须复制到另一个匹配的字符串日期: “12/07/2004 12/10/2010 10/01/2000 04/04/1998” PD:我正在使用这个网站http://regexpal.com/来测试是否有用。 我尝试了一些网站正则表达式 ,任何人都为我工作。

为什么空正则表达式和空捕获组正则表达式返回字符串长度加一个结果

您如何解释空正则表达式和空捕获组正则表达式返回字符串长度加一个结果? 码 public static void main(String… args) { { System.out.format(“Pattern – empty string\n”); String input = “abc”; Pattern pattern = Pattern.compile(“”); Matcher matcher = pattern.matcher(input); while (matcher.find()) { String s = matcher.group(); System.out.format(“[%s]: %d / %d\n”, s, matcher.start(), matcher.end()); } } { System.out.format(“Pattern – empty capturing group\n”); String input = “abc”; Pattern pattern = Pattern.compile(“()”); […]

Java将此字符串转换为JSONArray

我从服务器获得以下String响应: {“fid”:”1272″,”uri”:”http://someurl/services/file/1272″} 我需要将其转换为JSONArray 。 有帮助吗? 顺便说一句,我尝试了这个,它不起作用: String response=getResponseFromServer(); JSONArray array = new JSONArray(response); 我收到错误: org.json.JSONException: Value {“fid”:”1272″,”uri”:”http://someurl/services/file/1272″} of type org.json.JSONObject cannot be converted to JSONArray

如何替换字符串中的括号

我有一个包含令牌的字符串列表。 令牌是: {ARG:TOKEN_NAME}。 我还有令牌的哈希映射,其中key是令牌,value是我想用令牌代替的值。 当我使用“replaceAll”方法时,我收到错误: java.util.regex.PatternSyntaxException:非法重复 我的代码是这样的: myStr.replaceAll(valueFromHashMap , “X”); 和valueFromHashMap包含{和}。 我把这个hashmap作为参数。

替换字符串中的变量占位符

我的字符串看起来像这样:“你可以使用促销直到[开始日期+30]”。 我需要将[ Start Date + 30]占位符替换为实际日期 – 即销售的开始日期加上30天(或任何其他数字)。 [Start Date]也可能单独出现而没有添加数字。 此外,占位符内的任何额外空格都应该被忽略,并且不会使替换失败。 在Java中最好的方法是什么? 我正在考虑使用正则表达式来查找占位符但不确定如何进行解析部分。 如果它只是[开始日期]我会使用String.replaceAll()方法,但我不能使用它,因为我需要解析表达式并添加天数。

无法将String添加到ArrayList:“misplaced construct(s)”

我试图在Java中向ArrayList添加一个字符串,但我似乎无法让它工作。 目前,我有以下代码: List food_names = new ArrayList(); food_names.add(“pizza”); 为什么我会收到这些错误: 令牌“”披萨“”上的语法错误,删除此令牌 令牌上的语法错误,错放的构造(s)

如何在JAVA中编写和发送ASTM框架到医疗设备

我目前正在制定ASTM协议,向医疗仪器发送订单测试请求。 但是我无法正确地向设备发送消息。 为了更明确,我想要例如发送这些帧: String h1, s2, s3, s4, s5, s6 = “”; h1 = “H|@^\\|ODM-IdfDGIWA-36|||GeneXpert PC^GeneXpert^4.8|||||LIS||P|1394-97|20070521100245”; s2 = “P|1”; s3 = “O|1|SID-818||^^^TestId-12|S|20070812140500|||||A||||ORH||||||||||Q”; s4 = “O|2|SID-818||^^^TestId-14|S|20070812140600|||||A||||ORH||||||||||Q”; s5 = “O|3|SID-818||^^^TestId-16|S|20070812140700|||||A||||ORH||||||||||Q”; s6 = “L|1|F”; 这就是我现在的表现: writeMeBytes(outToServer, h1.getBytes()); writeMeBytes(outToServer, s2.getBytes()); writeMeBytes(outToServer, s3.getBytes()); writeMeBytes(outToServer, s4.getBytes()); writeMeBytes(outToServer, s5.getBytes()); writeMeBytes(outToServer, s6.getBytes()); public static void writeMeBytes(DataOutputStream dos, byte [] b){ if (b.length >0){ […]