2009-05-07 13 views
9

जावा String.replaceAll विधि के साथ MY-CORP \ My.Name जैसे इनपुट इनपुट स्ट्रिंग के MY-CORP \ part को पट्टी करने के लिए रेगेक्स क्या है, इसलिए मैं केवल My.Name भाग प्राप्त कर सकता हूं?जावा स्ट्रिंग.replaceAll regex

मैं

public static String stripDomain(String userWithDomain) { 
    return userWithDomain.replaceAll("^.*\\", ""); 
} 

की कोशिश की, लेकिन मैं सूचकांक 4 के पास अप्रत्याशित आंतरिक त्रुटि मिला ^। *

उत्तर

12

आपकी समस्या यह है कि बैकस्लैश जावा स्ट्रिंग्स और रेगेक्स में दोनों का विशेष अर्थ है। इसलिए आपको जावा स्रोत कोड में चार स्लेश की आवश्यकता है, रेगेक्स पार्सर में दो को गुजरने के लिए रेगेक्स में एक शाब्दिक एक प्राप्त करने के लिए:

return userWithDomain.replaceAll("^.*\\\\", "");