Tag: 字符串

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

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); […]

Java正则表达式用于删除XML标记,但不标记内容

我有以下Java代码: str = str.replaceAll(“.*?|”, “”); 这会像这样变成一个String: How now brown cow. 成: How now cow. 但是,我希望它只删除和标记,或者只删除独立的</fizz >标记,并保留元素的内容。 那么,正则表达式会将上述内容变为: How now brown cow. 或者,使用更复杂的String,转变为: How now brown cow. 成: How now brown cow. 我试过这个: str = str.replaceAll(“|”, “”); 这根本不起作用。 有任何想法吗? 提前致谢!

按字节截断字符串

我创建了以下内容,用于将java中的字符串截断为具有给定字节数的新字符串。 String truncatedValue = “”; String currentValue = string; int pivotIndex = (int) Math.round(((double) string.length())/2); while(!truncatedValue.equals(currentValue)){ currentValue = string.substring(0,pivotIndex); byte[] bytes = null; bytes = currentValue.getBytes(encoding); if(bytes==null){ return string; } int byteLength = bytes.length; int newIndex = (int) Math.round(((double) pivotIndex)/2); if(byteLength > maxBytesLength){ pivotIndex = newIndex; } else if(byteLength < maxBytesLength){ pivotIndex = pivotIndex + […]

不区分大小写的String split()方法

当我表演 String test=”23×34 “; String[] array=test.split(“x”); //splitting using simple letter 我有23个和34个arrays中的两个项目 但是当我这样做的时候 String test=”23×34 “; String[] array=test.split(“X”); //splitting using capitalletter 我在arrays23x34中得到了一个项目 那么有什么方法可以使用split方法作为不区分大小写或者是否有任何其他方法可以帮助?

用于将字符串与通配符模式匹配的递归函数

所以我一整天都试图解决这个任务,只是无法得到它。 以下函数接受2个字符串,第2个(不是第1个)可能包含* (星号)。 *是字符串的替换(空,1个字符或更多),它可以出现(仅在s2中)一次,两次,更多或根本不存在,它不能与另一个* ( ab**c )相邻,无需检查。 public static boolean samePattern(String s1, String s2) 如果字符串具有相同的模式,则返回true。 它必须是递归的 ,不能使用任何循环,静态和全局变量。 可以使用局部变量和方法重载。 只能使用以下方法: charAt(i) , substring(i) , substring(i, j) , length() 。 例子: 1: TheExamIsEasy ; 2: The*xamIs*y →true 1: TheExamIsEasy ; 2: Th*mIsEasy* →true 1: TheExamIsEasy ; 2: * →true 1: TheExamIsEasy ; 2: TheExamIsEasy →true 1: TheExamIsEasy […]

Java替换方法,替换为空字符

假设我有以下String格式: 2.2 我想用空格替换小数点,使它看起来像这样: 22 我该怎么做呢? 我认为replace会完成这个技巧,但是当我尝试这样的时候: string.replace(‘.’, ”); 我得到”错误,因为它应该不是一个字符。 这是有道理的,那么我怎么能完成我想要的呢?

com.sun.org.apache.xpath.internal.operations.String的目的是什么?

我正在编写一个Java程序,当我尝试使用字符串时,弹出的建议是com.sun.org.apache.xpath.internal.operations.String 。 什么是com.sun.org.apache.xpath.internal.operations.String ,我什么时候应该使用它? 我已经在线查看,但我找不到文档。 谢谢!

关于标点符号的正则表达式

所以我对正则表达式完全不熟悉 ,我正在尝试使用Java的java.util.regex来查找输入字符串中的标点符号。 我不知道我可能提前得到什么样的标点符号,除了(1)!,?,。,…都是有效的puncutation,(2)“”表示特殊的东西,并且不算作标点符号。 程序本身伪随机地构建短语,我想在句子通过随机过程之前去掉句子末尾的标点符号。 我可以将整个单词与任何标点符号匹配,但匹配器只是为我提供了该单词的索引。 换一种说法: Pattern p = Pattern.compile(“(.*\\!)*?”); Matcher m = p.matcher([some input string]); 会用”!”抓住任何单词 最后。 例如: String inputString = “It is a warm Summer day!”; Pattern p = Pattern.compile(“(.*\\!)*?”); Matcher m = p.matcher(inputString); String match = inputString.substring(m.start(), m.end()); 结果 – >字符串匹配〜“天!” 但我希望Matcher索引只是”!” 所以我可以把它分开。 我可能会创建案例,并使用String.substring(…)来获取我可能获得的每种标点符号,但我希望我使用正则表达式时会出现一些错误。

从特定单词后面的字符串中获取子字符串

我有以下字符串。 ABC Results for draw no 2888 我想从这里提取2888 。 这意味着,我需要在上面的字符串中no提取字符。 我总是在单词no之后提取数字。 字符串中不包含其他no字母组合。 字符串可能包含其他数字,我不需要提取它们。 始终在数字之前会有一个空格,我希望提取的数字始终位于字符串的末尾。 我怎么能实现这个目标?

String.format或类似的正确格式字符串

我确定我之前看到过像这样使用的String.format : String.format(“Some {1}, {2}, {3}”, var1, var2, var3); 这对任何人都响铃吗? 也许我在想C#,有没有办法在java中实现相同的目标? 我知道你可以这样做: String.format(“Some %s, %d, %s”, aString, aNumber, aString) 但我追求的语法是前者…