我想从文件中读取并写入文件.输入文件如下
<ORLANDO> <0%>
As I remember, Adam, it was upon this fashion bequeathed me by will but poor a thousand crowns, and, as thou sayest,
<ORLANDO>
"A s I r e m e m b e r A d a m i t w a s u p o n t h i s f a s h i o n b e q u e a t h e d m e b y w i l l b …Run Code Online (Sandbox Code Playgroud) 函数接收具有特殊符号(,>_$'和Java replaceAll throwns错误的类似内容.
样本输入
如果输入这样的东西我得到一个错误:
[FAILED] appendtext变量有System.lineSeparator():
$model_fsdfdsfdsfdsfdsfds->load('fsdfdsfdsfdsfdsfds','dsfsdfsd');
$model_fsdfdsfdsfdsfdsfds->fsdfdsfdsfdsfdsfds->index();
Run Code Online (Sandbox Code Playgroud)
如果输入为:
[OKAY] appendtext变量有简单的输入System.lineSeparator():
mysomethingmodel
blabla
Run Code Online (Sandbox Code Playgroud)
说明
appendtext与其他组合一起进入String:
String allappend = "Something simple var" + System.lineSeparator() + "\t{" + System.lineSeparator() + appendtext;
Run Code Online (Sandbox Code Playgroud)
好的.比使用正则表达式替换所有并抛出错误:
str_list = rs.replaceAll(regex_newlinebracket, allappend);
Run Code Online (Sandbox Code Playgroud)
regex_newlinebracket是另一个函数的正则表达式:
public String RegexPatternsFunction(String types, String function_name)
{
// get a rid of special sign
String function_name_quoted = Pattern.quote(function_name);
switch (types) {
case "newlinebracket":
return function_name_quoted + "(\\s|\\t|\\n)+[{]";
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
错误
例外在线程 "AWT-EventQueue的-0" …
我正在尝试编辑matlab文件并在某些特定行中替换一些编码部分init.但是,使用下面的格式进行更改它根本不会更改行上下文.(它将打印相同的旧行).知道我做错了什么吗?'replaceAll'不适合用行中的其他单词替换某些单词?
提前致谢.
try {
PrintWriter out = new PrintWriter(new FileWriter(filenew, true));
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.contains("stream.Values(strmatch('Test',stream.Components,'exact'))") {
String newline = line.replaceAll("stream.Values(strmatch('Test',stream.Components,'exact'))", "New Data");
out.println(newline);
System.out.println(newline);
} else {
out.write(line);
out.write("\n");
}
} // while loop
out.flush();
out.close();
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) public class NewClass {
public static void main(String[] args) {
String piece = "10*2";
String ans = "20";
String problm = "10*2*9";
System.out.println(piece);
System.out.println(ans);
problm.replaceAll(piece, ans);
System.out.println(problm);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码,当我打印problm它时打印:10*2*9
我想要它打印20*9,请告诉我我做错了什么
我目前正在使用一些Java代码进行评论分析,并且需要执行以下操作:
comment = comment.replaceAll("/**", "");
Run Code Online (Sandbox Code Playgroud)
但我遇到这个例外:
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 2
/**
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at commentCoupler.coupler.commentCriteriaForfilled(coupler.java:234)
at commentCoupler.coupler.analyze(coupler.java:64)
at commentCoupler.coupler.recursiveCoupler(coupler.java:27)
at commentCoupler.coupler.recursiveCoupler(coupler.java:22)
at commentCoupler.coupler.recursiveCoupler(coupler.java:22)
at commentCoupler.main.main(main.java:16)
Run Code Online (Sandbox Code Playgroud)
编辑:当我这样做时也会发生异常
comment = comment.replaceAll("**/", "");
Run Code Online (Sandbox Code Playgroud)
和
comment = comment.replaceAll("*/", "");
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会发生这种情况,有没有人有解决方法?
我需要编写国际象棋程序,使用FEN作为创建国际象棋棋盘的参数.为了简化这个过程,我想用replaceAll方法将数字等于"1"替换为该数字(查看我的代码).不幸的是,这不起作用,我不知道为什么.有人可以告诉我我应该采取哪些不同的做法?
String[] read2 = new String[] {"rnbqkbnr", "pppppppp", "8", "8", "8", "8", "PPPPPPPP", "RNBQKBNR"};
for (int i = 0; i < 8; i++ ) {
System.out.println(read2[i]);
read2[i].replaceAll("8", "11111111");
read2[i].replaceAll("7", "1111111");
read2[i].replaceAll("6", "111111");
read2[i].replaceAll("5", "11111");
read2[i].replaceAll("4", "1111");
read2[i].replaceAll("3", "111");
read2[i].replaceAll("2", "11");
System.out.println(read2[i]);
}
Run Code Online (Sandbox Code Playgroud)
输出是
rnbqkbnr rnbqkbnr pppppppp pppppppp 8 8 8 8 8 8 8 8 PPPPPPPP PPPPPPPP RNBQKBNR RNBQKBNR
但应该是
rnbqkbnr rnbqkbnr pppppppp pppppppp 8 11111111 8 11111111 8 11111111 8 11111111 PPPPPPPP PPPPPPPP RNBQKBNR RNBQKBNR
我对一个简单的问题感到很困惑。当我在字符串中使用空格时,String.length方法只计算空格之前的字符串长度,为什么?例如,它返回“ab cdef”的长度2,而它似乎是7!我想知道带有空格的字符串长度,这是我的简单代码:
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("Please Enter Operation: ");
String value = scanner.next();
System.out.println(valuee.length());
}// psv main
Run Code Online (Sandbox Code Playgroud)
另外,如果我想删除字符串中的空格,
String valuee = value.replaceAll("\\s","");
Run Code Online (Sandbox Code Playgroud)
不起作用!有人可以帮我吗?
我正在尝试用字符串中的三重正斜杠替换正斜杠
字符串路径 = “资源/菜单/数据/实体”
我希望输出看起来像这样 Resources///Menu///Date///Entities
我尝试了下面的方法,但它们都不起作用 path = path.replaceAll(“/”,”///\”)
path = path.replaceAll(“/”, “\/\/\/”)
我在网上做了我的研究,但找不到解决方案。我知道这看起来是一个非常简单的问题,但我无法弄清楚。任何帮助表示赞赏。
我想在每个管道前面插入一个反斜杠:
// What i want
MyList.replaceAll(item -> item.replaceAll("|" , "\|"));
// what i´ve tried that does not work
MyList.replaceAll(item -> item.replaceAll("\\|" , "\\|"));
Run Code Online (Sandbox Code Playgroud)
执行代码时,我得到“字符串文字中的非法转义字符”。
感谢您的帮助Thx:D
为什么:0在语句是 for 时被替换.0?
我在 Intellij 以及在线编译器上使用:x&.x和 进行了尝试gdb,但此问题仍然存在。
public class Main
{
public static void main(String[] args)
{
String s = "Hello:0, World:0.0, het:0";
System.out.println(s);
s = s.replaceAll(".0,", ",");
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Hello:0, World:0.0, het:0
Hello, World:0, het:0
Run Code Online (Sandbox Code Playgroud) java ×10
replaceall ×10
string ×4
regex ×2
asciidoc ×1
file-io ×1
filewriter ×1
printwriter ×1
replace ×1