我想知道为什么我没有得到这个预期的结果:
String t = "1302248663033 <script language='javascript'>nvieor\ngnroeignrieogi</script>";
t.replaceAll("\n", "");
System.out.println(t);
Run Code Online (Sandbox Code Playgroud)
输出是:
1302248663033 <script language='javascript'>nvieor
gnroeignrieogi</script>
Run Code Online (Sandbox Code Playgroud)
所以我想知道为什么\n还有.有人知道吗?在某种程度上是特殊的吗?
编辑:
所以我遇到了将换行符与a匹配的问题.在正则表达式中,没有意识到使用DOTALL选项,所以我将在这里添加需要做的事情以供将来参考:
String text = null;
text = FileUtils.readFileToString(inFile);
Pattern p = Pattern.compile("<script language='javascript'>.+?</script>\n", Pattern.DOTALL);
text = p.matcher(text).replaceAll("");
out.write(text);
Run Code Online (Sandbox Code Playgroud) 所以删除我的字符串中的所有空格.我做了一个由...组成的方法
message = message.replaceAll("\\s", "");
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个命令删除和特殊字符,如逗号或句号,只是让它成为一个字符串.我是否必须逐个删除它们,或者是否有一段我遗漏的代码?
考虑一下字符串,
this\is\\a\new\\string
Run Code Online (Sandbox Code Playgroud)
输出应该是:
this\is\a\new\string
Run Code Online (Sandbox Code Playgroud)
所以基本上一个或多个\角色应该只用一个替换\.我尝试了以下方法:
str = str.replace("[\\]+","\")
Run Code Online (Sandbox Code Playgroud)
但这没用.我用了两个原因\在[\\]+是因为内部\存储为\\.我知道这可能是一个基本的正则表达式问题,但我能够替换一个或多个普通字母而不是\字符.任何帮助都非常感谢.
我正在尝试使用以下代码来替换整个字符串:
代码:
String a = "Hello";
String b = a.replaceAll("(?s).*", "US");
输出:
USUS
Run Code Online (Sandbox Code Playgroud)
问题:为什么字符串“US”重复两次?如何使用正则表达式使用replaceAll函数替换整个字符串?
为什么我需要这样做:我需要使用其中给出的值来选择 json 文件中指定的替换模式。在此模型中,我想赋予用户(json 配置程序)独立性来定义一个模式,以便可以替换整个字符串,而无需编写字符串替换的特殊处理代码。
在Java中,我想在字符串后面插入一个空格,但前提是字符串包含"MAVERICK".我认为使用使用正则表达式作为参数的replaceAll()方法会做到这一点,但我并没有真正得到它.
这就是我所拥有的
String s = "MAVERICKA";
//the last character can be from the following set [A,Z,T,SE,EX]
Run Code Online (Sandbox Code Playgroud)
所以,我希望函数返回字符串"MAVERICK A"或"MAVERICK EX".防爆.
此外,如果字符串格式正确,则不应插入空格.即
我有一个带空格的字符串,我希望将该空格替换为"\_"
。例如这是我的代码
String example = "Bill Gates";
example = example.replaceAll(" ","\\_");
Run Code Online (Sandbox Code Playgroud)
示例的结果是:“Bill_Gates”而不是“Bill\_Gates”。当我尝试这样做时
String example = "Bill Gates";
example = example.replaceAll(" ","\\\\_");
Run Code Online (Sandbox Code Playgroud)
示例的结果是:“Bill\\_Gates”而不是“Bill\_Gates”
我有以下字符串:
String line = "367,881 1,092,781 17,819 220 89,905 194,627 342 1,763,575";
Run Code Online (Sandbox Code Playgroud)
该字符串在前两个数字之间有一个空格:367,881和1,092,781.其余的数字被不止一个空间包围.我想为前两个数字添加额外的空格.
使用replace添加两个空格不起作用,因为它还为其他数字添加了额外的空间.
line = line.replace(" ", " ");
Run Code Online (Sandbox Code Playgroud)
有什么方法可以为两个仅由一个空格分隔的数字添加额外的空间?
我正在尝试制作一个简单的脚本来替换文本中某些特定组或一组字符(或一组字符串)的所有出现。
在这种情况下,我将尝试用特定字符串替换所有字母“ a,e,i,o,u”。
我的剧本:
def replace_all(text, repl):
text1 = text.replace("a", repl)
text2 = text1.replace("e", repl)
text3 = text2.replace("i", repl)
text4 = text3.replace("o", repl)
text5 = text4.replace("u", repl)
return text5
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法?如果我需要替换更大的一组字符或字符串怎么办?这样链接起来似乎并不那么有效。
这也许是一个原始的问题。但是,我仍处于学习阶段,因此也许以后的课程中会有所帮助。预先感谢您的任何建议。
其他问题也涉及到这一点,并提供了对非常大的数据集不可行的解决方案。我有一个跨 9 列的公式,如下所示:
=IF(A1=A2, B2, "zz")
Run Code Online (Sandbox Code Playgroud)
然后我自动填充大约 350 万个单元格 + 复制 -> 粘贴值。然后我找到并用“空单元格”替换“zz”。然而,查找和替换一百万左右的“zz”字符串是一个非常缓慢的过程。我宁愿一开始就不在那里写任何东西。所以我的问题是,如何编写以下公式:
=IF(A1=A2, B2, 'leave cell alone and write nothing there at all')
Run Code Online (Sandbox Code Playgroud)
Excel 似乎无法在 FALSE(或 TRUE)的情况下不接触单元格。
replaceall ×10
java ×8
regex ×5
string ×4
replace ×3
excel ×1
find ×1
if-statement ×1
newline ×1
python-3.x ×1
set ×1