Tag: substring

使用java substring方法的内存泄漏问题

我查看了java substring方法的所有内存泄漏解决方案。 由于此问题,我仍然会出现内存不足错误。 我有一个字符串的arraylist,长度为1000-3500。 我索引它们并存储它们。 问题是每个字符串都需要通过循环来运行,以存储相同字符串的所有可能不同长度。 为此,我使用循环和子串方法。 而这种方法会导致内存泄漏问题。 我所做的sudo代码: for(int i=0;i<str.length;i++) { //create substring and index it str.substring(0,(str.length()-i)); } str:string。 并且上面的循环运行直到arraylist中的所有字符串都被索引。 我试图修复泄漏, 1。 for(int i=0;i<str.length;i++) { //create substring and index it new String(str.substring(0,(str.length()-i))); } 2。 for(int i=0;i<str.length;i++) { //create substring and index it new String(str.substring(0,(str.length()-i)).intern()); } 3。 for(int i=0;i<str.length;i++) { //create substring and index it […]

Java子串打破编码

我用UTF-8编码从流中读取了一些数据 String line = new String(byteArray, “UTF-8”); 然后试着找一些子序列 int startPos = line.indexOf(tag) + tag.length(); int endPos = line.indexOf(“/”, startPos); 并削减它 String name = line.substring(startPos, endPos); 在大多数情况下,它工作正常,但有时结果被打破。 例如,对于像”гордунни”这样的输入名称,我得到的值如”горд нни” , “горду ни” , “г рдунни”等。似乎代理对由于某种原因而被随机破坏。 我从1000中得到了4次。 怎么解决? 我是否需要使用其他String方法而不是indexOf()+ substring()或在我的结果上使用一些编码/解码魔术?

使用正则表达式从文本中删除连续的重复单词并显示新文本

HY, 我有以下代码: import java.io.*; import java.util.ArrayList; import java.util.Scanner; import java.util.regex.*; / public class RegexSimple4 { public static void main(String[] args) { try { Scanner myfis = new Scanner(new File(“D:\\myfis32.txt”)); ArrayList foundaz = new ArrayList(); ArrayList noduplicates = new ArrayList(); while(myfis.hasNext()) { String line = myfis.nextLine(); String delim = ” “; String [] words = line.split(delim); […]

如何只显示字符串的第一个字母?

我提示用户输入他们的名字和姓氏,但我无法弄清楚如何只显示他们的第一个和最后一个名字 import javax.swing.*; //import java.awt.*; public class Lab2Program2 { public static void main (String [] args) { String firstName; String lastName; firstName = JOptionPane.showInputDialog(null, “What is your first name?”); lastName = JOptionPane.showInputDialog(null, “What is your last name?”); JOptionPane.showMessageDialog(null, ” Your initials are ” + firstName + ” ” + lastName); } }

检查单词所包含的字母是否存在于另一个字符串中

这是我第一次在这里发帖,所以请告诉我是否需要更正这篇文章中的任何内容。 我想请求一些给我带来麻烦的帮助。 我需要检查一个字符串的字符是否出现在另一个字符串中,但它们只需要检测一次。 例如,对于字符串“BFEABLDEG”,“LABEL”不应返回true,就像它目前正在做的那样。 为了澄清,目的不是让程序计数字符。 它是让程序检查创建一个单词所需的字母是否包含在randomString中,两个字符串中每个字母的数字完全相同。 该计划部分基于游戏节目倒计时。 这就是我到目前为止所拥有的。 任何帮助将不胜感激。 编辑:感谢所有帮助过我的人。 我已经接受了Aru作为我正在寻找的解决方案的贡献,因为它避免了我最准确的问题,因为需要检查的字符串的大小。 public static boolean Checkword(){ String randomString = “BFEABLDEG”; String word = “LABEL”; { for(int i=0;i<word.length(); i++){ if(randomString.contains(word.substring((i)))){ return true; } } return false; } } 好的,我给出的解决方案适用于基本示例。 然而,最终目标是让用户从九个随机字符串中制作任意长度的单词。 目前,他们可以通过输入比字符串更多的任何字符来实现这一点。 考虑到添加了该function的新代码,我想知道是否有人可以帮助我。 public static boolean Checkword(String x){ String randomString = convertToString(); String word = x; { for(int […]

不使用正则表达式删除字符串中的子字符串(不能使用replaceAll)

我需要删除字符串中的一些子字符串(在大型数据集中)。 子字符串通常包含特殊字符,如:。,^,/,…和replaceAll()会将它们视为正则表达式的特殊字符,例如点将匹配任何字符,这不是我想要的。 是否有其他函数可以执行“替换”而不将第一个参数视为正则表达式?

使用起始字符串和结束字符串从长字符串中提取子字符串?

我有这个长字符串(它是一个长的连续字符串): Home address H.NO- 12 SECTOR- 12 GAUTAM BUDH NAGAR NOIDA- 121212, UTTAR PRADESH INDIA +911112121212 Last Updated: 12-JUN-12 Semester/Term-time Accommodation Type: Hall of residence (private provider) Semester/Term-time address A121A SOME APPARTMENT SOME LANE CITY COUNTY OX3 7FJ +91 1212121212 Last Updated: 12-SEP-12 Mobile Telephone Number : 01212121212 如果查看上面的字符串,可以生成以下模式: last_updated_text> 我想提取这个字符串的特定部分,如: 1. H.NO- 12 SECTOR- […]

创建正则表达式以使用java从字符串中提取4位数字

嗨,我正在尝试构建一个正则表达式,使用java从给定的字符串中提取4位数。 我尝试了以下方式: String mydata = “get the 0025 data from string”; Pattern pattern = Pattern.compile(“^[0-9]+$”); //Pattern pattern = Pattern.compile(“^[0-90-90-90-9]+$”); //Pattern pattern = Pattern.compile(“^[\\d]+$”); //Pattern pattern = Pattern.compile(“^[\\d\\d\\d\\d]+$”); Matcher matcher = pattern.matcher(mydata); String val = “”; if (matcher.find()) { System.out.println(matcher.group(1)); val = matcher.group(1); } 但它不能正常工作。 这该怎么做。 需要一些帮助。 谢谢。

在groovy中切一个字符串

我有一个18个字符的字符串,我想要字符2-8。 在python中,我可以这样做: sliceMe = “nnYYYYYYnnnnnnnnnn” print sliceMe[2:8] 版画 YYYYYY 我正在寻找一种在groovy中做同样事情的方法,并且每个解释都非常长。 什么是优雅的接受方式在groovy(或java)这样做?

如何获取包含Java中前N个unicode字符的子字符串

Java中的String数据类型让我们知道codePointCount在字符串中退出了多少个unicode字符; 以及如何通过codePointAt获取第n个unicode char。 我想知道是否有一个API来获取包含Java中前N个unicode字符的子字符串。 谢谢,