Строка заменить приключение в Java -- java поле с участием string поле с участием str-replace пол Связанный проблема

String replace adventure in Java


0
vote

проблема

русский

Я пытаюсь добиться этого - если строка содержит шаблон <код> %25 с последующим любое количество альфа-цифровых символов, то мне нужно заменить <код> %25 с < код> % . Следующий код, похоже, не прав -

 <код> while (userPassword.contains("%25"+"[^A-Za-z0-9]*")) {     userPassword = userPassword.replace("%25", "%"); }   
Английский оригинал

I'm trying to achieve this - If a string contains the pattern %25 followed by any number of alpha-numeric characters, then i need to replace %25 with %. The following code doesn't seem to be right-

while (userPassword.contains("%25"+"[^A-Za-z0-9]*")) {     userPassword = userPassword.replace("%25", "%"); } 
</div
        

Список ответов

3
 
vote
vote
Лучший ответ
 

Метод <код <код> String.contains() не работает с регулярными выражениями, но с простыми текстами, поэтому вы на самом деле смотрите на точностью % 25 [^ a-za- z0-9] "В вашей строке. Кроме того, ^ означает, что он должен соответствовать тому, что нет в классе символов, это не буквенно-цифровой символ, и это противоположное тому, что вы хотите.

Вы можете вместо этого использовать метод <код> String.matches :

 <код> while (userPassword.matches(".*%25[A-Za-z0-9]*"))   

(Как вы видите, я положил все регулярное выражение в одну строку. Компилятор сделал бы это для вас, но это более понятно)

Например:

 <код> String userPassword = "%25sdflk42";   System.out.println(userPassword.contains("%25"+"[A-Za-z0-9]*")); System.out.println(userPassword.matches(".*%25[A-Za-z0-9]*"));   

Это будет печать:

 <код> false true   
 

The method String.contains() does not work with regular expressions, but with simple texts, so you are actually looking at the exact sequence "%25[^A-Za-z0-9]" in your string. Also, ^ means that it should match what is NOT in the character class, that is no alphanumeric character, and this is the opposite of what you want.

You can instead use the method String.matches:

while (userPassword.matches(".*%25[A-Za-z0-9]*")) 

(As you see, I put all the regular expression in a single string. The compiler would have done that for you, but it's more clear)

For example:

String userPassword = "%25sdflk42";   System.out.println(userPassword.contains("%25"+"[A-Za-z0-9]*")); System.out.println(userPassword.matches(".*%25[A-Za-z0-9]*")); 

This will print:

false true 
</div
 
 
2
 
vote
 <код> while (userPassword.contains("%25"+"[^A-Za-z0-9]*"))   

должен быть

 <код> addEventListener0  
 
while (userPassword.contains("%25"+"[^A-Za-z0-9]*")) 

should be

while (userPassword.contains("%25"+"[A-Za-z0-9]*")) 
</div
 
 
 
 
2
 
vote

Вы должны быть осторожны здесь. <код> addEventListener1 делает не интерпретировать аргумент как regex.

Попробуйте:

 <код> addEventListener2  

, который использует обратную ссылку для замены только части захваченного шаблона. Из документации:

Знаки доллара могут рассматриваться как ссылки на захваченные подпоследовательности.

 

You need to be careful here. String.contains does not interpret the argument as regex.

Try this:

userPassword = userPassword.replaceAll("%25([a-zA-Z0-9]*)", "%$1"); 

Which uses back-referencing to replace only a part of the captured pattern. From the documentation:

Dollar signs may be treated as references to captured subsequences.

</div
 
 

Связанный проблема

56  Когда использовать явное ожидание против неявного ожидания в Webdriver Selenium?  ( When to use explicit wait vs implicit wait in selenium webdriver ) 
Я использую: <код> driver.manage().timeouts().implicitlyWait(180, TimeUnit.SECONDS); Но он все еще непрерывно не работает для нижеизведанного элемента ...

0  Общее утверждение для ошибки recuralandom return - Java  ( General statement for securerandom return error java ) 
Я искал на протяжении разных форумов, и теперь я наконец-то ставит свой вопрос, так как я не могу найти конкретный ответ. Я пишу протокол безопасности для д...

1  Обратитесь к веб-странице внутри файла JAR  ( Refer to a web page inside a jar file ) 
У меня есть рабочий проект. Он включает в себя другой проект, который имеет дело с отдыхом как REST-API.jar. Теперь я сделал одностраничное интернет-интерфе...

1  Простое Javaee HTML Get / Post Application  ( Simple javaee html get post application ) 
Я просто начинаю с Javaee (я вполне свободно владею в Javase), и у меня возникли проблемы с обездованием моего мозга вокруг всех новых вещей, которые необходи...

0  ConstanaintValidator - сделать JPA сделать проверку после ввода  ( Constraintvalidator make jpa make the validation after input ) 
Можно ли сделать JPA проверить вход сразу после типов пользователей в чем-либо? Я использую EclipseLink. Я не хочу ждать, пока JPA сохраняется для проверк...

4  Как полностью квалифицировать класс, имя пакета которого сталкивается с местным именем члена?  ( How to fully qualify a class whose package name collides with a local member nam ) 
ОК, вот очень любопытная языковая головоломка Java 7 для специалистов JLS там. Следующий кусок кода не скомпилируется, ни с Javac, ни с Eclipse: <код> ...

1  Как увеличить предел параллельного соединения OpenFire?  ( How to increase openfire concurrent connection limit ) 
Я пытаюсь проверить, сколько одновременных пользовательских подключений Openfire может обрабатывать. Я заметил предел при 4000 пользователями. Как я могу ...

12  Способ вызова в EJB на jboss запустить [дубликат]  ( Call method in ejb on jboss startup ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  Чехол для тестирования, где нуль должен быть возвращен с помощью RestController с Mockito Change  ( Testing case where null should be returned using restcontroller with mockito fai ) 
Я хочу проверить корпус NullPointexception, который следует бросить контроллер, который я проверяю, но я всегда получаю ошибку NullPointexception. Я пытаюсь п...

0  Java нерешенная переменная JPanel?  ( Java unresolved jpanel variable ) 
Почему не может <код> aniPanel быть разрешена в переменной. Я пробовал <код> AniPanel aniPanel = new AniPanel(); Но это не решает проблему. Я также по...

1  WebView loaddatawithbaseurl java.lang.nullpointerexception  ( Webview loaddatawithbaseurl java lang nullpointerexception ) 
<код> //. . . public class MainActivity extends Activity { //. . . @Override protected void onCreate( Bundle savedInstanceState ) { //....

105  Почему C # реализует методы как не виртуальные по умолчанию?  ( Why c sharp implements methods as non virtual by default ) 
В отличие от Java, почему C # методы лечения как не виртуальные функции по умолчанию? Скорее всего, это проблема производительности, а не на других возможных ...

-2  В классе F250.java есть две петли, которые не будут работать  ( There are two loops in the f250 java class that wont run ) 
Класс F250.java - это объект оружия, и есть два метода, которые привлекают и обновляют пули, выходящие из пистолета. Я сделал класс пули и сделал массив пули ...

1  Улучшение моего жадного алгоритма  ( Improving my greedy algorithm ) 
** Это мой код, который выглядит способ найти сумму в массиве ** <код> public class Piecedemonei { public static void recherche(int[] tab) { ...

1  Кварц Schdeuler для нескольких проектов в JBOSS 5  ( Quartz schdeuler for multiple projects in jboss 5 ) 
Я развернул два проекта (P1 & AMP; P2) в JBOSS 5. Оба проекта настроены с различными кварцевыми планировщиками. Но когда я заплатурую работу на P1, он доступа...

Связанный проблема

56  Когда использовать явное ожидание против неявного ожидания в Webdriver Selenium? 
0  Общее утверждение для ошибки recuralandom return - Java 
1  Обратитесь к веб-странице внутри файла JAR 
1  Простое Javaee HTML Get / Post Application 
0  ConstanaintValidator - сделать JPA сделать проверку после ввода 
4  Как полностью квалифицировать класс, имя пакета которого сталкивается с местным именем члена? 
1  Как увеличить предел параллельного соединения OpenFire? 
12  Способ вызова в EJB на jboss запустить [дубликат] 
0  Чехол для тестирования, где нуль должен быть возвращен с помощью RestController с Mockito Change 
0  Java нерешенная переменная JPanel? 
1  WebView loaddatawithbaseurl java.lang.nullpointerexception 
105  Почему C # реализует методы как не виртуальные по умолчанию? 
-2  В классе F250.java есть две петли, которые не будут работать 
1  Улучшение моего жадного алгоритма 
1  Кварц Schdeuler для нескольких проектов в JBOSS 5 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.